Dispatch frames to channels. Channels are now thread safe.

Now multichannel connections should work.
Channels communicate to socket using rust Sender & Receiver.
We now have 2 tasks running one to read from socket and dispatch frames,
another one is to receive frames from channels and send them to network.
We can probably combine those two into 1 thread.