added framework for tile management

Nothing implemented as of yet, but the code is setup for me to go
through and work out the logic of what needs to be changed from what I
had to what you have setup already. Hopefully at a quick glance you can
see what I'm trying to do with it.