Applied Singleton pattern to GameState and provided static reference
so that you can call the GameState anywhere.
Made SpriteManager. Major revamps in code design.
SpriteFactory merged into SpriteManager, which handles caching of
Textures and provides an interface for creating Sprites.

Applies Flyweight pattern.
Fixed issue with references (Screen, InputHandler).

Font Helper class added.
Create Tile class. Tiles are now made using Tiles.create(TileType).
Updated Tile to be able to interpret integers into their type.
Optimized getGridCoordinates method.
GameInputProcessor now holds the GameUserInterface class. 

This makes sense.
Cleaned up GameUserInterface.
Code runs properly, render sequence needs to be fixed.
Some null pointer exceptions.
Removed unnecessary attributes. Map is now not modified when building
towers.

My fault.
MainMenuScreen now uses FontHelper.
Added console logs for debugging purposes.
Merged dev branch. Please follow the design here and rework the UI.