Added input, updated levels

This commit consists mainly of two parts:

* Input classes were added (Mouse.java and Keyboard.java), they handle
the respective device's input. Also, functions for enabling them were
added.

* A lot changed regarding levels. First of all, tiled levels are now
really usable since the tiles can be rendered. Also, a few things
changed regarding entities (although they're not supported by the level
classes yet).

A few other things were also improved, take a look at the file changes
to find these.