refactor api: socket object in events

I want to improve the way direct messaging is handled.
Currently you get a sid but it would be better to have the WebSocketSocket instance directly. A bit like in websockets.io (See #29)