Changed the way the ActionTree's properties work...

The properties will be set based on the priority (1) the value stored in
the ActionTree, (2) the value stored in the ActionTree's Action, and
lastly (3) the default value, if applicable.

For example, if the ActionTree's text is set, exposed Actions will use
that text value. If it's text is not set but its Action is set, exposed
Actions will use the Action's text value. If this value is also null,
then the default text value (null) is used.
Added an 8th button and widgets to configure all of its properties.