* 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.
* Cleanly split up mind finalization from salmanoff shutdown.
* 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.
