multiroom: spliting into multiple files, new websocket library, ping/pong for catching odd disconnects