The coordinate is always 0 and Mesh can be configured to add it
implicitly. The code is now nearly the same for 2D and 3D, will redo it
without templates later.
The text will be rendered without all the nifty features like kerning
and it will most probably fail on everything non-latin, but HarfBuzz is
currently PITA on some systems.
HarfBuzz usage can be configured using USE_HARFBUZZ CMake option.
* Common layouting code in separate non-templated class.
* Direct creation of interleaved vertex array and compressed index
buffer, saves some memory operations and removes MeshTools dependency.
* Preparation for mutable TextRenderer implementation.
The library uses FreeType for glyph pre-rendering and basic glyph
geometry and HarfBuzz for text layouting (i.e. ligatures, kerning, ...).
Currently all used glyphs must be prerendered into texture atlas, other
glyphs are simply not rendered (although the layouting code handles them
like if they are there).
Text rendering supports UTF-8, although glyph pre-rendering is currently
ASCII only, as I couldn't find any working implementation of Unicode
STL function in recent GCC versions. Will be fixed later.