Partially revert "Work-around preprocessor issues on Windows."

Commit 99be617278cfcc398dd2cae1f23dd90fe2dacbed moved the #undef from
SceneGraph/Camera3D.h to Math/Matrix4.h, but it seems that it needs to
be in both places.
Text: code cleanup -- merged two loops into one.
Text: ability to compile the library without HarfBuzz support.

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.