Since TileMesh objects are not rendered directly, using a Mesh object
to store their vertices is a bit of a waste since on GL 2.0+ libgdx
uses a VBO for each Mesh
This is a _mostly_ working port of my original C++ code. Some parts
aren't too optimized yet and some stuff may actually not work. But it's
_mostly_ there. :)