GUI engine

This branch, 'feature/GUI', has been rebased (squashed), in order
to ease merging branch 'feature/FontResource' onto it. For the
complete history of 'feature/GUI' up to the point in time before
rebasing, see branch 'feature/GUI-historic'.
UIWidget: Integrate use of nom::Font into GUI branch
Copy font resources for VBoxLayout unit test when on WindowsOS

* This partially fixes the failing of the test for this platform.
Introduce unit test for FontCache
Revert NOM_DISABLE_GFX_LOG_TRACE macro

* The macro got lost somewhere in all the merging as of late. Oh well!
VBoxLayoutTest: Fix the test failures with layout spacing
examples/fonts: Fix crash when font is NULL
FontCache: Restructuring of init (introduce static helper interfaces)

* SDLApp: Removal of fonts_ class variable & getter method; the global
nom::SystemFonts interface replaces access to it.
* SDLApp: Font enumeration relocated to
PlatformSettings::enumerate_fonts.

* ResourceCache: Explicit clear on resources container upon
destruction.
FontCacheTest: Change ResourceCache type to Font
UIWidget: Introduce font setter for Font raw pointers.

* Font: Introduce DEFAULT_FONT_SIZE (12 pt) const var.
Clean up code a bit; remove phased out IFont code fragments
Bit of clean up on Font & ResourceCache interface

* Font: Introduce raw_ptr & shared_ptr typedefs.
* Font: Remove operator = method overload; ease of future maintenance.
* Font: Add file extension detection for Data Fork Suitcase (.dfont)
type.
* ResourceCache: Introduce erase( key ) method.
FontCacheTest: Introduce StaticInterfaceAPI unit test
Clean up code a bit; remove phased out IFont code fragments
Add timestamp to NOM_DUMP macro
Move DEFAULT_FONT_SIZE const var to types.hpp from Font.hpp
Initial integration of font cache into GUI examples
PlatformSettings: Introduce get_system_color method

* Introduce SystemColorType enum (method argument).
Clean up header files of BitmapFont & TrueTypeFont
Introduce getters & setters for font style (bold, italic, underline)

(Implemented only in TrueType).

* examples/fonts: Make second TrueType label bold.
* Text: Make update method part of the public interface.