Add support for optional desktop notifications of new updates.
Factor unread item counter out into its own class.
Factor activity tracking pixel stuff out to its own class.
Factor socket status message out to its own class.
Move refresh message handler to core code.

This is something we'll want any/all websocket clients to be able to do
and is especially relevant with changes to Sutro that allow broadcasts
to wider namespaces.
Factor out listing scroll code to its own class.
Polyfill document.hidden and remove duplicated page state tracking.