* find a way for it to read the HTML from a string, since fmemopen() doesn't seem to
  be available on GNU libc
* Christian Grothoff:

> Second, the approach with global callbacks is problematic if there is any 
> kind of concurrency involved. My idea would be to pass 4 arguments to parse. 
> The pointer, the size, a struct with callbacks and a void * which is passed 
> on to the callbacks and opaque to the library itself. That way, concurrent 
> access (even with different sets of methods) is no longer an issue.
