Double check that a button was in fact found on mouseover.
Implement a new UI system.

- Buttons, etc... as UI.Component implementations.
- UI.Interface instances hold the components that make an interface like the reader interface.
- UI.Layout instances create the DOM and layout from the components of an interface.
Implement auto-hide of the UI.
Commit the page visibility handing for autohide I forgot to commit before.