The injected script is loaded in parallel with the global extension, creating
a race condition for when the modules are available from the extension. Update
the injected script's module loading code to make up to 3 attempts to request a
module's source from the extension before surfacing the error to the user.