Button defaults and child component fix

Adds the ability to set default labels on buttons, as well as the
ability to easily set default buttons.
Window is now added as a child component of WindowHost, since it was not
being looked up appropriately from the parent context in some
circumstances.
Adds an example file.
Hopefully having the example for in-project development will cut down on stupid commits.