Update gitignore
Fix Button.buildMenu()

It didn't properly render "..." on a too long key label, fixed that
Change to DrawEvent to render frame
Update Porject layout

Moved a few files into the libraries folder, because they belong to the
engine, rather than the game.
I tried to decouple as much as possible. In App.java the Keystroke has
to be abstracted away.
Also lay groundwork for GameState drawing with DrawEvent.
Implement Cursor and Player

Also moved the creation of button menues into the Button class as a
static method
Add overlay class and cursor
Lock framerate to 30 fps
Update to use Singleton classes

This commit updates the code to use sigletons for classes,
that every other class need to have access to, like the GameState
or the Terminal output
Updated Button docs for modkeys
Add documentation for EventSystem
Add support for modkeys
Add simple event system

Needs some bit of work to polish, but works
Code executed by button now contained in lambda function
Change from Terminal to Screen
Deleted comment
Inital push