a derpy 2d canvas sidescrolling game engine