refactor(input): make mouseOnView a static method on input

- Use outside of the input class for determining world/pixel coordinates for a mouse on a view.
refactor(point): add default constructor for point class that initializes to 0
feat(sceneView): make SceneView class derive SceneObject to allow it to have components

- Have sceneView look for a camera component on itself before searching the scene graph.
refactor(tidying): clean up odds and ends

- Include explicit reference to CombatFeatureComponent in combat state machine
- Remove force option for grunt tasks--don't cover up errors.
refactor(game): store currentScene for later access
docs: todo note about tilemap spatial query
feat(tiled): support inline tileset for tmx maps
refactor(sceneObject): define ISceneObject interface
refactor(sceneSpatialDatabase): static pointInRect function for jit love
docs: remove incorrect copy/paste docs

- Combat view - renders a combat scene (todo: remove and use game view?)
- Combat camera/encounter/render components.
game: don't specify initial map in gameStateMachine
feat(editorCanvas): add prototype editorCanvas

- Combat view - renders a combat scene (todo: remove and use game view?)
- Combat camera/encounter/render components.
refactor(game): bring back eburp maps
refactor(spritePacker): explicit sorting functionality

- If a set of sprites for a sheet contain varied sizes of input textures, sort by their width.
- Otherwise, sort by file name.
feat(debugging): add class name toString for scene classes

- SceneObjects print class name and component list.
- SceneComponents print their class name.
refactor(game): launch from original eburp town

- Support colliding with eburp maps
- Start in "town"
game: bring back the dialog views
game: bring back proper astar graph generation
refactor: extend resource class from events not backbone.model

- This makes debugging resource objects much nicer.
feat: load enemies data from google spreadsheet

- Published doc is linked to enemy info, fetched on combat start.  Falls back to the built-in enemy data if there is a problem.
- Add GoogleSpreadsheet resource that fetches a published spreadsheet's data via JSON API.
- Choose random enemies from the spreadsheet.
TODO: Specify spreadsheet id on url, pick specific monster for testing.