[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
because the current convention is to have 'editable=true' if editable and remove 'editable' attribute completely if not editable.

>you should use removeAttribute() instead of elt.setAttribute(attr, null) to remove the attribute 

[Ref](https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttribute)