Re-implemented the camera module and extended the documentation on
layers. Also added the update function to main.lua and improved the
structure for readability.
Implemeted the Camera as class, simplified the calculation of border
treatment to improve performance and changed the world coordinate system
in all relevant modules (so far) to the ordinate growing downwards.
Added game state management that currently allows to pause the game and
stop input processing and updating during that state. Also added a very
basic menu that is displayed during paused state.
Implemented overloader function to load collision for a level. I also
changed how AABBs are dealt with, they can now be created with the
function AABB() from the collision module. This should produce the exact
same result as the AABB class so it should be compatible, but over time
I would prefer to replace the class with this new approach as it is a
bit more elegant and AABBs are far too simple to justify an own class.