Added new network code and updated client

- New network code uses ByteStrings and should not give random slow
frames like the old code did (but need to test with the server to be
sure). It is also a bit more basic, foregoing its own monad transformer
and instead passing the channel explicitly.
- The client code now works pretty well and processes user input
locally, while also sending this input to the server. Next step for the
client will be to correct the local data by using the data received from
the server.
- The server is now horribly broken (doesn't even compile) and fixing it
should be the next step. Meanwhile, use TestServer.hs if you want to
test the client.