Desynchronize QueuedSocket
Created by: agraubert
I'd like to make QueuedSocket a little lower to the ground by removing the background thread. The timing of the thread is a little fragile and introduces a delay on receiving inbound packets. I'd like to remove it in favor of heavy logic to ensure the same functionality (of queueing messages for each channel) while maintaining the same thread-safety of the current API.