Add component launcher

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
it doesn't

but image this user case:
- launcher's config = child's config
- child change its config
- mutation observer files changes and the launcher changes its config
- the launcher files attributeChanges callback (at this point, the child config is the same as the launcher config, hence, it is undesirable to call setAttribute again on child)