Fix invalid constant references

Was using Loader.prototype.<CONST>, but I had moved all the constants
at some point to the closure level, so just <CONST> (without the
Loader.prototype prefix) is the right way to refer to them.
Add a basic floor tile image.
Use the floor tile when drawing the floor.
Add loading support for JSON assets
Auto-start assets added after the loader has been started.

Previously, if you added a new asset to the loader after starting it, the asset
would never get loaded because the new asset wouldn't be started
automatically and there was no manual way to start it.

Now we have a flag which tracks whether the loader has been started. If it
has, any new assets you add to it get started automatically.
Load and draw a level map created in Tiled

The level is exported from Tiled as JSON (both the original .tmx file and the
exported .json file are checked in).

The tileset for the level is created in GIMP (the .xcf file) and exported as a
.png.

Added code to load and draw the map.
Fix for the spawning code.

I was using the wrong property names when trying to get the tilewidth and
tileheight for the current level.
Remove the 'restart' menu option
Read the player spawn point out of the map data.

Added a spawn point to the map, in a new objects layer called "Locations".
Changed the initialisation code to place the player at this spawn point and
make sure the view is placed properly over them.