- HEX dump
- remove Dbug* calls
- we need to use malloc, possibly with a preallocated buffer of states
 or to give a callback ...
- we need an init function called automatically
- memory leaks: we may accept some when debugging ?
- static_strtok
- debugging option common to each thread ?
- AUTOS_REVERSE:
 * If the automatic variables get allocated on the stack in
 * reverse order from their declarations, then define AUTOS_REVERSE.
 * This is used by the code that keeps track of stack usage.  For
 * forward allocation, the difference in the dbug frame pointers
 * represents stack used by the callee function.  For reverse allocation,
 * the difference represents stack used by the caller function.

----------
- on enter custom function (e.g to check malloc status) ->sanity ():
  the function is global to the interface but the request to use it 
  is local to a single pushed-state
- lock with user provided functions the pieces needing it (output ...)
- needs user provided get_process_id, get_thread_id;
- profiling available only without multiple threads;
- thread name as a filter ?
- separate the idbug_t flags from the state flags
- always flush on write ?
- implement delay (gasp !) or take from user ...
