RXP now attempts to be usable in a threaded environment, though this
has not been tested yet.

Many static variables have been removed and replaced by fields in
various structures.  Remaining static variables are initialised at the
start of the program (by the init_* functions) and not changed
afterwards, so init_parser() should be called before the threads
are started.

Parser objects should not be shared between threads.  If namespaces
are used, each thread should use a separate namespace universe.
