Adding websockets to kansas-comet

- Added websockets to kansas-comet
- Added socketConnection object to Document
- socketApplication method to complete handshake from client browser
- receiveEvents to will handle socket connection which is open between client and server
- kansas-comet.js to initiate a websocket connection if browser is capable of establishing websocket else fall-   back on long polling method
- Some formatting changes to kansas-comet.js
- Added additional libraries to cabal
- Dr. @andygill please review :)
The changes made here don't seem to depend directly on the `bytestring` package, so it should be removed as a dependency.