Add spell checking dictionary definition

* refactored common definition code into MutableDefinitionBase
* refactored common definition collection code into ObservableKeyedCollection
* added spell checking dictionary unit tests
* fixed font definition flag enumerations