A general purpose tile- and object-focused 2D level editor