use ShadowDOM.localQueryAll instead of querySelector when searching for upgradable elements
flag to identify ShimShadowDOM implementation
don't recreate Changelings when projecting unless needed
Off spec changes to facilitate loading component resources relative to the url from which the component definition was loaded (https://www.w3.org/Bugs/Public/show_bug.cgi?id=19870):
- automatically fixup common attributes that load url resources (src, href, action) to load relative to definition url.
- store path from which component loaded at this.__path__ so that resources can be dynamically loaded relative to definition url.
[ShadowDOM] Add support for reprojection
loader: fix Firefox compatibility
- support WebKit or unprefixed MutationObserver
- shim: fix problem resulting in double component upgrade
don't rewrite paths that contain mustaches
add smoke test for declarative component
add option to construct components using JsShadowRoot.
Handle document fragments in appendChild and insertBefore.
only observe if there's a version of MutationObserver available.
collapse shadowdom-polyfill-loader into shadowdom-polyfill (used for testing)
Remove unnecessary code
Change from constructor to using a create method on Element.

new JsShadowRoot(host) -> host.jsCreateShadowRoot()
Associate all nodes that are rendered using the shadow DOM rendering algorithm
with an object. This is so that the DOM overrides do not need to walk up the
DOM to find out if they need to do anything special.
Change to Chai assert instead of expect.js for speedups.
Expose the distributed nodes on content elements.
use ShadowDOM.localQueryAll instead of querySelector when searching for upgradable elements
restore lost changes (git fail)