fix typo
add inivisible class to non-visible action
emit more granular change information for an Action

this allows consumers of action to fine-tune their updates
add an implementation note to the Menu

this makes it clear about the behavior when updating the actions in a
menu
add ability to force action enabled and visible state
Revert "emit more granular change information for an Action"

This reverts commit 68a5e6f0ef72f66dce9baefc3588306928aa1627.

Conflicts:
	src/widgets/action.js
laxbreak linting
add ActionGroup class
add support for ActionGroup to Action

this also merges the class name creation functionality into the Action
class from the actionutil module
cleanup for action api changes