Various updates
Add Coordinate, modify various implementations to use Coordinate
Add tile framework: Tile, TileMap, TileDecoder
Add basic Tile implementation ColoredTile