Improved Visuals

Added graphics scaling to make the simulation easier to view on higher
resolution monitors.
Shifted draw operations onto an intermediate Surface object rather than
directly to the window. This makes scaling and other transformations
possible.