Added proper event processing

asyncore was blocking Qt events from passing in the thread. Using
QEventLoop to create a loop which calls a QTimer to invoke event
processing for asyncore.