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).
Ok, added cleanup logic.

As discussed, content scripts have very little clobberable state; what there is is in https://github.com/GoogleChrome/accessibility-developer-tools-extension/blob/master/src/extension/ContentScriptFramework.js and is only set up if it doesn't already exist.