Merge pull request #11 from bartek/master

Lots of changes.
Merge remote-tracking branch 'upstream/master'
Improve Dispatcher by passing gamejs into it.

This allows us to bind gamejs onTick and onEvent to the Dispatcher,
saving a few lines of boiler-plate code that would occur in every game.

If it needs to be changed, we can now extend the Dispatcher class
similar to how we've done other classes.

Additionally wrote some tests to cover this change as well as some previous
ones.