#129, #162 add ws ping-pong and close if no response

This utilizes the web socket protocol ping-pong op codes. If the
connection supports them, it will send them instead of heartbeat
frames. If the client doesn’t respond within 10 seconds, it considers
the connection closed.