* Don't use inline scripts and function constructor.
This allows a stricter Content-Security-Policy which is required for web extensions.
* Load module scripts asynchronously
* Extract common code into method
* Fix injecting loading script
* Append to the file instead of reading and appending to the file string
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>