Worked on Surface class

I worked on writing the code and commenting the Surface class. Most of
the code is done being written (all the physics stuff is done), but I
still have some complicated methods that need a lot more commenting in
order to explain what's going on inside them. The Surface class is the
trickiest to code (that's why I saved it for last), so it's been taking
me awhile to finish. I should be able to finish it though next time I
work on it. After the Surface class, I'll be done coding the GameFrame
framework and it will be time to move on to creating a tech demo of
sorts of the framework and debugging anything that doesn't seem to be
working.