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 know it's at odds with other languages, but don't use nil as a sentinel. It opens you up to programmer errors, since there's nothing stopping the caller from forgetting the nil check. Instead, return (*client, bool) to force the caller to decide whether to check or ignore errors. (Or (*client, error) if you want more specificity.)