Rewrote main loop

Everything is so much cleaner now. Basically, Sprite is now an abstract
class, meaning all sprites must provide their own updateSelf method.
That is what is called in the main loop. (This shouldn't affect
operation at all.)