Store a cache of currently enabled browser commands
* Problem: `addRange` or `removeAllRanges` kills the browser command states.
* Store cache in `commandCache`
* Add `updateCommandCache` and `restoreCommandCache` methods
* Add support for command-with-arg buttons to be in an active state
* Update command cache when running `execCommand`
* Store and then update selected commands when selecting a toolbar
  button
* Create the command cache by looking up the buttons that are in the
  DOM, set the default value to `false`