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?
Here, you make an assumption about what `event.data` might be.  Might it not be better to use something like:

    event.data.name == "hide"

... and assume throughout that `event.data` is a JSONifiable object?

Perhaps also rename `event` to request throughout.