Worked on tile collision bugs.

Turns out I had a misunderstanding about how tile collisions worked, so
I spent a lot of time trying to fix bugs in the Surface and RBObject
classes. Also had to change how the GameFrame class is used.