Refactor contentLoad so that removeEventListener works.
Listen for DOMContentLoaded and inject into about:blank.

In 27e9b73783ea22f9631ddaa0a4945ed865a69547 we rewrote the injection logic to depend on observer event document-element-inserted, but at about:blank that doesn't specify a document or window, which we need to inject.  Listen for DOMContentLoaded again, to inject scripts only into about:blank.

Fixes #1696