Fixes for monitorDOMChanges

- Dispatch pageModified event (to all frames in tab) on a DOM change.
- Clear translators for a tab before running any detection. In particular, ensure we don't clear valid translators for one frame when we run detection on another frame.
- Avoid re-creating Zotero.Translate instance when handling pageModified event. This also avoids dangling MutationObservers in a case where we have multiple MutationObservers and only one fires.

I tested this on ARTstor and it seems to behave as expected. @aurimasv, please make sure this looks right to you too.