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?
Should key handling be part of a generic framework like this?  We need it for the demo, but should not then appear in `test_ui_component.coffee`?