Make sockjs compatible

Depends on sharejs#267.

See earlier discussions geigerzaehler/ShareJS#2. The main problem is that at the moment ShareJS assumes that the transportation layer handles serialization of messages, but only browserchannel does this, not the websocket protocol.

- [x] Add example for using SockJS as a transport
- [x] Make protocol websocket compatible by only sending messages of the form `{data: 'serialized message'}`.
- [x] Discuss and implement a generic way of wrapping socket connections on the client.
- [x] Fix tests.