Bug 841251 - Implement a simple shared lazy loader. (alternative design)

This PR intends to propose an alternative design for Bug 841251, provided in PR #8088 by @KevinGrandon. It has been partially inspired on #8088 but provides the following improvements:

* DOMRequest-based interface avoiding hierarchical callbacks in the code
* It cleanly manages errors during loading
* Callers can be notified of individual resource loading and of the full load of all the resources
* Callers can load resources in parallel or sequentially as requested 
* Checks presence on the DOM by using querySelector as requested by @vingtetun