Additional clean up on UILayout framework

* VBoxLayoutTest: Add several more tests.
* UILayout: Fix implementation of while loops.
* UILayout: Introduce pure virtual add_item method.
* UILayout: Introduce virtual find_widget method.
Renderer: Disable output of method traces inside ::create
IFont: Make metrics getter required implementation

* BitmapFont: The filename of the loaded font is set as the face name.
* TrueTypeFont: Use TTF_FontFaceStyleName to set face name.
More clean up work of UILayout

* VBoxLayout: Remove forward declaration of UIWidget.
VBoxLayout: Clean up of variables
VBoxLayoutTest: Load additional (TrueType) font resources
CustomUILayout: Copy of VBoxLayout

* tests/CMakeLists.txt: Add expliclt build option for
CustomUILayoutTest.

* CustomUILayoutTest.cpp: Copy of VBoxLayoutTest