[Init draft, don't merge]

The init draft of a minimum component launcher, it 
- sends editable and data-config down
- uses MutationObserver so when its child's data-config changes, it captures the change and send it to player by fireCustomeEvents
Why do you get an infinite loop? Once you get the updated values back, you should be able to set data-config without any change, right? Only potentially a change in serialisation. Perhaps use https://github.com/Versal/versal-gadget-launchers/blob/e55b791c67356345b5a759d18c8c4da1070bb8ff/iframe-launcher/iframe-launcher.js#L17-30 here too?