How we built TryIon with BluetoothLE, Node.js, Websockets, and JSMpeg
lava.io
lava.io
As for why socket.io doesn't support binary, I'm guessing because it might be difficult to support that over some of the fallback transports. (That appears to be the reason in SockJS as well)