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)
As far as I can tell, the roomId and clientId of this struct are never used.  So why not just have "data" below be map[string]map[string][]string?