Create a framework for managing user interface components in iframes

This is the result of [this conversation](https://github.com/philc/vimium/pull/1382#issuecomment-68214559) between @smblott-github and I on #1382. It creates `UIComponent` in the frontend and `UIComponentServer` (provided by `pages/ui_component_server.coffee`) for the iframe(s).

This also includes an example (provided by commit d20caa49075c0605ec2196416a5633d5e205b615). The example
* opens/closes with the help dialog.
* refreshes its contents every time it is opened, showing
  - the current vimium version (as requested by Stephen), and
  - a random number (to confirm that the contents have been refreshed on each reveal).

@smblott-github, can you take a look over this?
Thinking of the HUD specifically, its position varies based on whether we're showing the upgrade notification or a normal message. Setting that through `UIComponent`, so the context doesn't have to deal with the iframe element directly seemed cleaner to me.