Attempt at a Java 2D game engine