Java 2D Game Engine Development