Enhanced the functionality of the Spell Checker Addon

Added code to the spell checker to attempt to preserve the case of the
spelling-corrected word when a spelling error is encountered. Now when a
misspelled word is found, that word's case is examined, and the script
tries to match the case of the correction when performing the
replacement. For example:

missspelling becomes misspelling
MISSSPELLING becomes MISSPELLING
Missspelling becomes Misspelling
MiSsspelling becomes misspelling

Please note that the last example, where the misspelled word has mixed
case beyond the first letter, leaves the corrected word as lower case.
This is intentional, since case corrections for such mixed case words
would require "letter-by-letter" testing of the original word, and
that's outside the intent of this enhancement.
Merge branch 'master' of https://github.com/Program-O/Program-O