heart.focus() callback function to correspond to love.focus()

Adds support for calling a heart.focus() callback using the same API as
love.focus(); also includes an example, examples/pausable.html , to demonstrate
that this works.

Currently window.onfocus and window.onblur are used to track focus. This
corresponds fairly well to the way love.focus() works, i.e., focus is tied to
whether the game window is active. However, it does mean you can't "click out"
of a game onto another part of the same Web page to de-focus the game. I
initially tried using the focus and blur events of the *canvas*, but it turns
out <canvas> elements cannot be focused by default in browsers so those events
never fire.

--HG--
rename : examples/keyboard.html => examples/pausable.html
Adds support for loading heart.js as a CommonJS or AMD module

A wrapper taken from https://github.com/umdjs/umd/blob/master/returnExports.js
has been added around the entire script file; this enables use with AMD loaders
(such as RequireJS) or CommonJS loaders (such as Browserify).

Using heart.js as a browser global, by loading it through a <script> tag, is
still an option; it automatically registers as a browser global when not in an
AMD or CommonJS environment. All the examples work as they did before with no
changes.

I've tested the CommonJS module option (using Browserify); I *haven't* tested
AMD support, because I don't tend to use RequireJS and didn't want to spend
time setting it up for this test, but as the module-loader wrapper was taken
directly from the UMD repo linked above it should work properly for AMD too.
Adds a simple bower.json to enable consumption through Bower

While this is technically unnecessary (Bower can install from any Git endpoint
and autogenerates a bower.json if there isn't one), it's convenient to specify
the "main" field to indicate the actual heart.js source file, because Bower
can't infer that field on its own.
move HeartImage inside heart
add focus callback to TypeScript definition file