[Extensions] Make ExtensionModule create its instance

This small series separates creation of ExtensionModule from creating the instance and loading the JS API. This is a preparation for the loading of extensions on demand ("lazy load").