Loading for modules (Javascript and CSS) and settings need to be loaded for the gadget. ResourceLoader can not be used for this, instead this needs to be done in a module. Cleanest way is probably to create new module (gadget loader) that takes care of all this and calls ext.wikispeech.main.
Global settings, i.e. those in the extension config, can live on the producer. These will be the defaults, possibly they could be overwritten by settings stored on the consumer. Same goes for default user settings.