Bold / Italic / Strike / Underline buttons don't work correctly

* Fixes #19
* 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