Text: Fix copy assignment issue

* Fix copy assignment operator; using Text::set_font was creating
new copies of the set font every frame when in a game loop
(non-intentionally).

* This might also correct a crash occurring when calling nom::Window's
copy assignment operator; this possibility has not been verified...
TrueTypeFont: Change rendering of text from Blended to Solid
Refactoring of Button class

* Rename GrayWindow to GrayFrame

* Introduce Button base class with label text functionality and
relocate bitmap functionality from original Button into new
BitmapButton class (of which inherits from Button).

* Introduce initial implementation of Button::on_event and
BitmapButton::on_event method logic.

  examples/gui:
* (Re)-add create_button_* tests.