This changes both the spellchecker parent code that interfaces with the
InlineSpellCheckerParent actor, and the child code interfacing with the
ContextMenuChild actor, to ensure they get notified when either actor
goes away.
It maintains the "uninit" messages to clear out spellcheck data when the
context menu goes away (while the window / actors remain intact).
It also adds some belts-and-suspenders type checks that allow us to
recover if we ever get in a bad state again, instead of stubbornly
throwing exceptions and breaking the UI for users.
Differential Revision: https://phabricator.services.mozilla.com/D75228