Basic map system implemented
added improved performance
add map background
Added camera movements, most of the basic map system.

Changed map drawing to be on the diagonal instead of stacked.  This is
so that map coordinates are much more intuitive for humans, and it is
less painful to work with.

Camera movements have been coded to adjust based on the player's facing
position and speed.  Further refining and tweaking is expected.

Added a debug flag, so that all the drawing stuff should disappear if
debugMode is turned off.

Things to work on in the future on my part: add a canvas pool, figure
out the limit to the number of HTML elements, normalize the world X and
Y coordinates with the individual TileMap entities, dynamic map
generation (basic), dynamic map generation (advanced)
Merge from upstream