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 a lot of this logic could be moved to the room struct, via a .addClient which can return an err if it fails because it's full or the clientId is taken.