Added all the textures for the test level; they will be removed again
before this branch is merged with master. Implemented a game state for
the editor mode.
Implemented a game state for the editor.
Changed a few things in the GSM and commander and implemented an editor
module as well as a new game state for the editor mode.
Fully implemented level writing in editor: Pressing 'w' in the editor
now writes the level file, which can then be loaded by the overloader.
Implemented an entity manager, for which I had to modify the constructor
of all entities to have unified constructor arguments with varargs.
Luckily there is only one entity so far (the Player).
Made editor module into a class for more consistent and contained state
handling.
Implemented grid drawing in the editor. The grid drawing can be toggled
and the grid size can be increased and decreased.
Implemented switching layers in editor and cleaned up the editor code a
bit.
Simplified sprite loading and definition by guaranteeing that every
texture has an atlas and thus removing the need to specify s, t, w and h
for every sprite. Now, you either specify a tile from the tile map /
    texture atlas that as also specified for the texture, or you leave
    the field empty and the overloader function for textures creates a
    standard tile that excapsulates the entire texute.
Implemented a way to insert new collision into the level in the INSERT
mode of the editor. It's buggy though, needs fixing.
Fixed collision insertion in the editor.
Inserting collision shapes into the level with the editor now works perfectly.
Properly implemented grid snapping even in conjunction with camera
movement.
Improved world collision insertion in the editor by allowing drag and
drop as well as not inserting any collision shapes with an area of 0.
Improved visual feedback for collision insertion in the editor as well
as tested out a few colours for the editor interface.
Basic access to textures + tiles and thus sprites is now implemented and
working in the insert mode of the editor.
In the editor in insert mode sprites now follow the mouse position with
respect to the currently selected layers scale.
Implemented triangular collision shapes and collision detection between
AABBs and triangles. There is no collision solve between them yet.
Split up the locomotion component into locomotion and location
components. The latter only contain the position of the entity in world
space as well as the entities orientation as a 2d vector.
Drastically reworked the collision system. Triangles now work in a very
limited way: Only the hypotenuse is a viable collision part.