Formatting and constant extraction
Initiate pings from the client

 * Track last activity in WebSocketConnection and schedule
   checks whihc send ping if this is too long
 * Use a scheduling executor for the event queue so that
   our ping checks and messages are serialised with all
   the other operations