Revise translator preference rules for clarity & to favor top frame translators

More broadly addresses zotero/translators#571

I still need to test this some more, but let me know what you think of the logic.

Technically, the previous statements would not always call `this.clear()`, but I think that it should always be called before overwriting with new set of translators. Perhaps we don't need to call it if `this.page.translators && this.page.translators.length` evaluates to `false`, but I'm not sure that there's any harm in calling it anyway.

I don't recall if this change will need any special treatment for Connectors