A white 5x5 .png to use for random stuff.
Tiles files have been updated. New tiles added! They also now possess "name", "solid", and "type".
A new function has been added to Image to determine the number of clips an image has.
TileBar has been totally reworked. Same basic functionality remains.

Tile has an added variable for a name.

ISSUE: The system previously in place for tiles has been removed. It will be added back shortly. There wasn't much since having it stored as it was. Right now everything works fine except new tiles placed don't have a name or solid attribute.

TileBar::Draw Changes:
1. The TileBar is now loading attributes from the state .json file.
        tilesPerRow. The number of tiles drawn in each row.
        spacer. The spacing between each drawn tile.
        xOffset. The x position for the top left corner of the TileBar.
        yOffset. The y position for the top left corner of the TileBar.
        tileWidth. The width the tiles are displayed at in the TileBar. This does not correlate to the size they are when put into the game.
        tileHeight. The height the tiles are displayed at in the TileBar. This does not correlate to the size they are when put into the game.
2. The tiles are pulled from the images .json file, rather than from the states' .json file. *This is why the above error message is occurring*

TileBar::OnMouseUp() Changes:
1. Rather than looping through the tiles, there are some calculations added that find the selected tile.

TileBar::GetSelection() Changes:
1. Not returning the exact tile. This will be fixed in hopefully my next commit.

TileBar::Load() & Save() Changes:
1. Removed ["list"] from the .json
2. Added previously mentioned attributes to the .json
The state files and some image files have been changed to fit the new tileset class added.
Added a TileSet class to keep track of tiles and their attributes. Also edited related files to allow them to incorporate TileSets.

How it works:
 TileSet uses two std::map's to keep track of images and tiles. The first map pairs the image path/filename to a shared pointer of the image's SDL_Texture. The second map pairs the tile name with the actual tile.

The tilename in the map is defined as `<image file name> - <tile name>`. So if forest.png has a tile named 'Grass - Plain', the tile will be queryable by searching map with 'forest - Grass - Plain'.

With a TileSet, you can query for individual parts of the Tile.
mTileSet->Texture("forest - Grass - Plain") will return a pointer to the SDL_Texture associated with the appropriate image.
mTileSet->Clip("forest - Grass - Plain") will return the Recti for the appropriate tile.
mTileSet->Solid('forest - Grass - Plain") will return the bool value for whether or not the tile is solid.

TileSet is loaded in editor & game states, and passed into the map and tilebar classes, so those classes no longer need to load in any images for tiles to function.

To disambiguate, image refers to an actual image, not the Image class. The Image class isn't used anywhere in this new code.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	res/states/editor.json
	res/states/gGame.json
	src/gamestate.cpp
	src/image.cpp
	src/map.cpp
	src/map.h
	src/tilebar.cpp
Finished the merge, Overrode the Save() function for the tilebar, so it gets saved properly. Changed up some state files so that they work properly.
Changed the TileSet Add() function to incorporate JsonHandler. Also fixed up a few bugs that were overlooked.  I Also fixed something I accidentally forgot to uncomment :P.
Added a destructor to remove the SDL_Textures from TileSet
Merge pull request #7 from btstevens89/master

Added a TileSet Class