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)
This is flaky. There's no guarantee that this port is available on the machine running the test. Use port 0 and dig out the actual allocated port.