Add a websocket signaling server impl

PTAL
(Sorry for the previous abandoned requests. I'm new to the github work flow and messed up the repository)
I think much of this logic could be moved into client, where the room and client, where the client itself knows not to send a message from itself to itself, and it knows whether to send the message over the ws (if it can) or queue it (if it can't).