Websocket dispose

Make all DefaultWebSocketHandler operations noop after it's closed.
- Added tests that verify it noops after closing.
- Made the WebSocket property internal to ensure it's not used by another other code.

#2457