Expose the WebSocket protocol on the connection
**Problem/Use case**
We have a websocket connection that can handle multiple types of connections. For example we may have one that performs some analytics back 'n forth and another that serves GraphQL. We would like to be able to route connections and messages on WebSockets to the correct sub-handler in our stack.

At the moment this is difficult, unless we parse and match the protocol request header from the underlying http connection every time.

**Proposed solution**
The WsSocket class already performs protocol negotiation and can easily extract the selected protocol (if any) from the response.

Annotating this to the connection object makes it available to all delegate message handlers below.