A personal JavaScript game engine for Canvas and WebGL