Updated level mechanics, Vector, ShapeRenderer

This commit addresses these sections:

* The level mechanics are updated. This means you are finally able to
get your own entities into a level, and you can define one to be the
"player entity" which gives it viewport control. In addition, the
TileBasedLevel class was updated to fit that fact and display the
objects accordingly.

* The Vector class got a handful of new methods.

* The ShapeRenderer class was changed. A class called "Identity" was
added which represents the state of a Graphics2D instance so you can
easily restore it later.