add handle_ws_connect to WebSocketServer trait

this let's us finally logically separate out the echo server example from the
WebSocketServer trait, making it finally usable for other things!