UIBoxLayout: Fix crashing by adding NULL checks before insertion
Nothing to see here, move along...
Allow using nom::Text::Style enum as bit-mask (uint32)

* Rename enum Style::Regular to Style::Normal.
Introduce UIStyle class interface

* Customized font color, font size, etc. for widgets.
Refactor Button class (improve efficiency of updating text label)

This commit vastly improves the efficiency of the widget, especially on
older platforms (such as my windev box).

* Button: Remove default (void) constructor.
* Button: Remove operator = overload (un-necessary).
* Button: Remove valid method (commented out).
* Button: Implement UIStyle for the widget (font color, font size).

* BitmapButton: Remove default (void) constructor.
* BitmapButton: Set the size of the widget to match the bitmap image.

* Text: Re-implement set_size method; this automatically recalculates
the text's alignment for us.
* Text: Implement ::Style::Strikethrough for TrueType fonts.
Set DataViewList obj decorators in their respective helper methods