Phase out deprecated usage of NOM_DUMP_VAR macro
Revert changes made to the NOM_DUMP macro as per commit SHA 3952760

* Introduce the NOM_DUMP_VAR macro; variant of NOM_DUMP that accepts
multiple arguments (via variadic templates).

* The NOM_DUMP macro remains unchanged, in order to preserve backwards
compatibility.
Introduce macros example app
UIBoxLayout: Fix UISpacerItem & internal layout spacing bugs

* Button: Use the label's width as the width of the returned Size in
the size_hint method.
* Button: Return the minimum size of the widget when all else fails
inside the size_hint method.

* ListBox: Use nom::DEFAULT_FONT_SIZE within both size_hint and update
methods.
* ListBox: Use the font point size of the UIStyle when available; this
is done in both ::size_hint && ::update.

* examples/gui_listbox: Introduce several assertions for ensuring
layout logic is sane. (These will be relocated soon!)

* examples/gui_button: Introduce several assertions for ensuring
layout logic is sane. (These will be relocated soon!)
Update examples template file
Introduce Cursor class (system cursors)

* RenderWindow: Introduce mouse_focus method.

* Rename gui/Cursor to gui/GameCursor & mark it deprecated.

* Introduce examples/cursors.cpp.
Introduce ColorDatabase && SystemColors interface
ListBox: Implement wheel & click focus policies

* Cursor: Declare mouse_state method static.

* Button: Set focus policy to FocusPolicy::StrongFocus.

* UIStyle: Introduce selected_font_color getter & setter.
* ListBox: Use UIStyle's selected_font_color when available.