BROKEN COMMIT. Just a backup.

This was a horribly failed attempt to "fix" how I handle collision.
Currently, collision methods are named inaccurately. They need to
specify that they only apply to tile collision. The bigger problem is
that collision carries out actions regardless of its caller. Collision
should only pass information back so that the caller can decide what to
do. This will help generalize the collision detection so that any caller
can make good use of it, since the information is used in a variety of
ways.

Another problem is that member variables are set based on collision
during that loop ("isTopColliding"). This is handy, but hard to
maintain, because it needs to be reset to false after every loop. It'd
be cleaner just to have the collision detection pass this information
back so that it only exists during that loop.

This commit has these fixes in mind but fails to pass back the
information in a clean way. It got to a point of "too messy" so I
decided to scrap it. I'm going to reimplement the same ideas but with a
new approach: Currently I have several "branching" collision detection
functions that are called depending on top/bottom/left/right. This is
very nice to eliminate code duplication, but it's making information
hard to pass around. I'm going to cut down on the number of functions at
the expense of writing duplicate code. Later, I can see if it's possible
to remove the duplication. For now, it's worth it.