Rendering makeover, map and textures

Started a complete makeover of the rendering system. Changed the single
renderer into three different ones, this will make it easier to render
with a good result since the different objects have different rules for
rendering.

The map is now fully scrollable and works perfectly, all that is left is
to implement the map parser.

Implemented a fail-check against texture binding. Before if a texture
was already bound to OpenGL and a call was made to bind it again, it
would still bind it and thus creating an unnecessary load on the system.
With this fix a texture will not be bound when it's already bound.