Allow user to set default button

Supports setting a default button for most (all dialogs)

partial implementation of #14 However, Cancel isn't implemented
Removed global used to store widget texts and firstWidget (which were
used to set focus)