Restructure gTiles.

gTiles is now a 2D vector representing a tile-based "map" of the level.
This should make it easier to determine collision against tiles because
we can scan along an axis that we're interested in.

The downside to this is that it's slightly more complicated in code,
though it is easier to visualize. The other downside is that we have a
bunch of NULL tiles in gTiles representing blank space now.