Rewrite ping/pong logic to be client side

  - Add debug support by adding ?ReconnectingWebSocketDebugAll=1
  - Change ping interval to start on object create time
  - Catch all ws.send() errors.
  - Will not connect to ws until first ws.send()