Asynchronous Update and Input

Stabilized messaging interface
Added multithreaded updates and input

The asynchronous mode is currently only implemented in xfreerdp, and is still disabled by default until fully tested.

Please test using +async-update +async-input

It is working fine for me but I have still been occasionally experiencing crashes resulting from potential unsolved race conditions