A simple button control. The button control can contain
text and/or a graphic. A button control has three different modes

Normal: A normal push button.

Default: The default button is rendered differently to make it apparent to users that it should
be the default choice should they be unclear as to what should be selected. The behavior of the default button differs
depending on the platform in which it is presented:

Windows / Linux: A default Button receives ENTER
key presses when it has focus. When the default button does not have focus, and focus is on another Button
control, the ENTER key press will be received by the other, non-default Button. When focus is elsewhere in
the user interface, and not on any Button, the ENTER key press will be received by the default button, if
one is specified, and if no other node in the scene consumes it first.

Mac OS X: A default Button is the only Button in the user interface that responds to the
ENTER key press. If focus is on another non-default Button and ENTER is pressed, the event is only received
by the default Button. On macOS, the only way to fire a non-default Button is through the
SPACE key.

Cancel: A Cancel Button is the button that receives a keyboard VK_ESC press, if no other node in
the scene consumes it.