refactor: add support for mostly working serialization of tmx map

- requires updates to pow-core to run.
- move errors to pow-core for use in new tmx save.
- write map to console when ctrl+s is hit in view.
- use vkbeautify for pretty printing xml
chore: add artifacts for release
style: update to latest fontawesome for paintbrush icon
feat(IAppPlatform): add writeFile method and node webkit implementation
feat: support basic file saving with ctrl+s

- only works in node webkit, no browser implementation exists yet.
- create new sprites for a layer as they're painted on, to avoid creating sprites for each index
style: inset selection for file tree and tile layers list
style: differentiate object layers from tile layers in list
fix(tileEditorView): leaking $interval functions
style: border shadows for slideout menus
refactor: speed up and move editor input into its own directive

 - move input into its own directive
 - implement PowTileMapPicker
 - ditch pixi input and implement simple hit checking that performs better
 - refactor paint tool to work with input.
 - clean up separation of concerns issues by moving all editor view input into its own directive TileEditorInput, that is applied to the editor view as an attribute.
feat(TileEditorView): add support for basic flood fill tool

- naive recursive flood fill.
- may produce crashes with very large maps.
- todo: use a stack
feat(TileEditorInput): right mouse pans regardless of active tool
chore: merge save branch with master
feat: layer and object group management and sorting

 - Show layers and manipulate them without the view closing when you click back on the map.
 - Add skeleton for new layers
chore: update tileset names to deprecate pow2 environment.tsx
feat(LayersListView): support adding new layer after the active one

- Refactor code for creating TileEditorViewLayer's into the TileEditorController so it can be reused across editor tools.
- Add conversion functions for PowLayerToTiledLayer and TiledLayerToPowLayer, to aid in going between the two formats.
- Update tiled resource layers before saving.
- Add setSize method on PowTileLayer for initializing a layer's tiles data for a given size.
- Implement add new layer method in TileEditorController
fix(TileEditorInput): issue that broke erase tool
Merge branch 'master' into manage-layers
feat(inlineEdit): add directive to support inline editing strings
feat(LayersListView): support editing layer names

- double click on layer name to edit in place