Split Tiles into Separate Classes

Created a Tile interface for the GameManager to access,
Tied the Tile interface to a generic/virtual TileClass, intended to hold
default/core values and variables for all Tiles.
Split the unique funtionality of each Tile type into its own class.
Fixed some UI bugs for all the stuff.
Preliminary (and very rough) methods for combining tiles with a core
function. (Doors are doors, with different graphics.)