Redesigned architecture a bit.

Message processing happens in a separate thread now.
Just for debugging, main router runs in a separate thread but in the same process with the main console