Finding the Perfect 2D Game Engine