More improvements to content script injection.

Don't continue injecting content scripts if the script injection process has been restarted (e.g. if scripts 1-3 of 5 have been injected, then a sub-frame completes loading so the whole process has to start again: don't inject script 4 which may depend on scripts 1-3).
These listeners are only added when devtools is opened on a tab: https://github.com/GoogleChrome/accessibility-developer-tools-extension/blob/master/extension/devtools.js#L19
If it's closed and re-opened on a tab, the check on line 58 will fail because the tabId will still be in inspectedTabs from the previous time.
When the page navigates, we need to (re-)inject the content scripts, because they're only programmatically injected. The background page's sole job is to make sure that happens.
So, I'm not sure how we'd end up adding redundant event listeners.