Wrap all files in modules
No need for QWERTYDICT to be global or in main file
Remove unused fn
Pass document explicitly to keyboard obj

* Better to avoid globals to constrain side effects
* Easier to mock if want to test
* Easier to provide new implementation of document interface
rm Key and just do everything in Keyboard

* Also explicitly make fn that is all about view, rather than mixing logic and view.
* Use passed in document to create key elements.
Put RAF setup in its own fn
Rename ntt.js to main.js to clarify is main file
Unify game loop creation and start
Make fn to set up input listener
Rm unused code
Share key obj between Keyboard and Game
Rm unused code
Put canvas into page in HTML, rather than JS
Pass document, canvas id, width and height to Game
Remove canvas from game logic

* Use ctx for drawing.
* Explicitly pass gameWidth and gameHeight instead of getting them off the canvas.
No need to init game.character twice
Sorry, left in my debug code.
Move timer drawing code to Timer

* timer.setupView() might be a bit clever clever in the way it uses a closure to share the div with timer.draw()
Consolidate logic
Make clear canvas functional

* Easier to reuse.
* Decoupled from state of game.