Subclass action

This moves the Action to be an extension of QtControls Action.  The controls action is not completely aware of the UI state, so we still need a few properties specific to Material.
This should just be `action: actions[index]`