add 'webkitCreateShadowRoot' to match native api
a fresh pass at component documents loader