Handle 'visibilitychange' in views

  * stop listening to the model for changes (which would trigger DOM updates)
  * when the document is unhidden, reattach to the model and check its state
    immediately to grab any missed updates