InfravisionHelpsKeepThingsClean - Adding InternalsVisibleTo for Moq to allow keep internal methods internal.

One of the WebSocketHandler.SendAsync() overloads was made public only to enable testing. Granting InternalsVisibleTo to Moq makes it possible to revert this change.
Similarly one of the WebSocketHandler.ProcessWebSocketRequestAsync was public and had parameter of WebSocket type however there is not an API that would return a bare WebSocket to the user and therefore the API is not usable from the end user's perspective.

(The main motivation for hiding these methods is that they take parameters of types that are not available on all platforms and therefore a lot of effort would be required to make the APIs consistent across platform without any apparent benefit since the methods should not be public in the first place).

Also making WebSocketHandler class abstract since it is not really usable standalone so there is no need for it to be instantiatable.