Refactored out the logic of the game from the way it is painted. Updates
are done every game tick, and painting is done on a separate tick if
need be. The splitting of the class will help move towards fullscreen
mode since it can now just re-use the model of the universe for drawing
to a different surface.

Technically, splitting paintAndUpdate into update and paint separate
methods would be more work per frame, since it is iterating over some
tile loops twice, but active rendering REQUIRES painting separated from
updated. If it becomes a problem, an optimisation can always be added
back in for passive rendering.
Added a new class further separating GameWindow from drawing: a
StandardSurface which handles creating buffered and volatile images.
Currently the system always uses hardware acceleration. If this becomes
an issue later code may be able to easily fall back to BufferedImage.
Fullscreen is working...ish. no way to change setting of fullscreen vs
windowed without recompiling. Rewrite of rendering engine is causing a
very... interesting graphical glitch involving collapsible tiles just
going psycho and transforming into other tiles.
Graphical issues caused by having a most likely improperly formatted
BufferedImage that acted as a middle-man for painting. Now universe
paints directly to Graphics device using graphics translations to align
UI and game window.

Fixed a bug where blue keys could not be collected.
Fullscreen can be toggled on and off, but not pushing this to master.
Going into fullscreen sometimes causes flickering between main menu and
game. Additionally, going out of fullscreen both causes the main menu to
act weird, and prevent the game from being played again.
Fixed issue where fullscreen window wasn't disposed, resulting in odd
behaviour after coming out of fullscreen.

Fixed a recently discovered glitch where dying on the screen you are
transfered to from a bonus door could result in a NullPointerException
(since BonzoCameFrom wasn't properly set)

Fixes #31, with the caveat that this is fullscreen, not High Definition.
updated .jar
Fixed bug that caused continued glitches when ending the game, and
updated .jar once again to compensate. This finally ready to be merged.
Merge branch 'feat/issue_31'

Conflict resolved with binary by just rebuilding with latest src.

Conflicts:
	monkey_shines-0.1-SNAPSHOT-jar-with-dependencies.jar