Defang return key

There's no need to hit return in the search input since results are
fetched on every keypress.
Create extension Backbone.View to add visibility events

This allows views to generate several events related to their presence
and visibility in the DOM.

 - hidden
 - visible

The view itself can consume these events.

This fills a couple use cases:

 - When an external listener needs to be notified when an element
   has been inserted into the DOM, so it can manipulate that element.
   In this case, it may be useful to proxy the event through Backbone.trigger
   as a global event if the listener does not have a reference to the view.
 - When the view needs to adjust itself to it's container when it is finally
   inserted into the DOM.
Use visibility events to trigger view_loaded event
Use visibility events to trigger input width adaptation
Trigger domain_completion event on successful domain completion
Template tweaks to enable hint bubbles