* Check through all managed objects and properly refcount them using shared_ptr. * Make xcbXorg and xcbWindow async. * Propagate asynchronicity up into attach/detachDeviceReq(). * Ensure that we comb through the current code and enforce the distinction between user errors and program exceptions. * As it is currently, all async sequences execute on the calling thread fully, instead of being posted to the thread which ought to service them. Enforce the actual use of the Mind threads by posting async messages to their appropriate threads. * We're now getting to the point where we must implement locking. Go through the driver libs and give them locking.