A web socket channel currently also serves as the protocol handler. This is bad because a protocol handler should be a singleton that is accessed via do_getService(). This patch adds a new WebSocketProtocolHandler class as a protocol handler. The handler is used for wss or ws depending on the bool that is passed in. The constructor always creates a new instance, so this should be accessed via do_getService(), not do_createInstance(). Differential Revision: https://phabricator.services.mozilla.com/D317687