chore(PaintTool): add skeleton wiring for paint tool

- Editable tile layer structure that can be used to modify on-screen tiles, and later used for serialization
feat($keys): add keybinding service for editor shortcuts

- based on jsfiddle: http://jsfiddle.net/firehist/nzUBg/
- modified to fix issue with unbinding different listeners on the same combination.
- ported to typescript for great strongly typed justice.
chore(PIXI): add pixi type declarations for 1.5
feat(Platform): add normalizePath for cleaning up relative path strings
feat($actions): implement actions manager for great undo justice

- $actions service that exposes IActionsService interface.
feat(TileEditorView): support undo/redo of paint and erase actions

- Oh, also move the whole friggin' source structure around, to make room for editors to live in their own directories.
chore: finish moving tile editor code into source/editor
feat(TileEditorView): support toolbox with move paint and erase tools
chore: merge paint-tool branch to master