Fix EM_SETLANGOPTIONS use.

Shouldn't reset already set flags (such as the defaults).  Call
EM_GETLANGOPTIONS to get the existing flags and then add
IMF_SPELLCHECKING to them.
Fix incorrect USE_SPELLCHECKING check.
Make Windows 8 spellchecking configurable.

Behave consistently with the other two platforms in that it is now
possible to disable spellchecking in preferences.  Not doing so was an
omission: USE_SPELLCHECKING wasn't set for Windows builds.

Reorganize the code a bit in the process and move spellchecking-related
helper functions to new spellchecking.{h,cpp} files.
Fix more incorrect USE_SPELLCHECKING checks.

Again. Freshly introduced by 179a4bfa.