Limitations of this version:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * There is no support for thread priorities ie; each thread gets the same
amount of time as the others.
 * There is a default 100ms slice given to each process
 * 256 bytes of stack are allocated to each thread. This is neither
changeable nor extendable so be careful if your thread calls a lot of nested
procedures (ie; don't recurse thread code). If your thread does run out of
stack space the results are undefinable.
 * Interrupt code in application space is not supported
 * Currently there is a 32 client limit and a 32 threads per client limit and
no checks to see if they've been exceeded
 * No error handling provided by the C veneers as yet
 * Only partial error handling as yet implemented in the module
 * Currently heavy memory leakage happens when using the RMA to store things
