RenderableWorld changes

This PR follows #1456 and focuses only on the new class, **RenderableWorldImpl**.

The first commit ([diff 1](https://github.com/emanuele3d/Terasology/compare/MovingBlocks:develop...emanuele3d:c68febe)) mostly just renames variables and methods to improve readability.
The second commit ([diff 2](https://github.com/emanuele3d/Terasology/compare/emanuele3d:c68febe...emanuele3d:ea3a231)) does a number of things:
* extracts variable instantiation from loops when appropriate
* reviews and refactors some of the logic where appropriate (*reviewers needed!*)
* compacts some methods
* removes some duplication

The second commit also augments the RenderableChunk interface and the ChunkImpl class by adding methods hasMesh() and hasPendingMesh(). Both have been put in place to increase readibility, as they replace statements such as "if(chunk.getMesh() != null)" with "if(chunk.hasMesh())"; 

RenderableWorldImpl will be further modified when I start working on WorldRendererLwjgl.
Notice that this PR comes with some line-specific questions.

UPDATE: 
The third commit ([diff 3](https://github.com/emanuele3d/Terasology/compare/emanuele3d:ea3a231...emanuele3d:734898)) addresses the issues discussed so far, namely: private vs public static variables, static variables requiring objects from the registry made non-static, a few small changes here and there, and a slightly different handling of the camera position in the comparators, awaiting for a more complete solution in following PRs.
There's something I still don't understand. Why can't the separate thread replace directly the content of chunk.mesh instead? I'm not sure what opengl version we are writing against, but the current version of opengl even allow to share memory buffers between CPU and GPU. This would make it possible for a thread to simply write to a buffer when needed, while opengl simpy draws whatever it's in there.