Graphic: blit() other Surfaces to destination
Graphic: blit() other Surfaces to destination

...Rather than onto the image directly. This will allow the Surface
from the previous update cycle to be 'erased' properly, since all
Graphics will be blitted onto the same end destination (the game
screen) no matter how many layers of Graphics are drawn on top of each
other.

This also allows the return Rect to directly reference the game screen,
meaning that no calculations need to be performed on it before passing
it to pygame.display.update().

MarquisLP/gamehappy