Restructure for requirejs and grunt build

Outline of work done:

* Move all app-related common files to app/ directory
* Move non-essential files out of app/ (e.g. OFL.txt)
* Use requirejs to load all JS: this reduces the number of script
  tags and makes the app structure more obvious
* Split game-specific code into a Game object
* Move gamesound into its own "class" file
* Refer to levels, level-related objects (sounds, game data)
  and their related DOM elements with a level number, rather than
  using zero-indexed arrays. This removes the need to add/subtract
  1 from the level number to enable correlation between game
  objects, DOM elements, and game levels. NB this refactoring
  isn't complete or perfect, but is heading in a more modular
  direction.
* Add a grunt build to make and deploy a wgt file. This also
  concatenates and minifies JS (using r.js) and CSS, optimises
  images, and removes unnecessary whitespace from the HTML index
  file. In addition, it provides a simple web server for
  testing, and can build a distribution suitable for use
  as a Chrome extension.
* Fix the Chrome extension manifest so the app will load correctly.
* Use bower to install and track external 3rd party library
  dependencies.