feat(components): implement css encapsulation for transcluding components

* Extract ComponentCssLoader so it can be shared by ShadowDomComponentFactory and TranscludingComponentFactory
* Implement a CSS transformer similar to the one provided by Platform.JS
* Rename EventHandler into ShadowBoundary
* Provide a built-in implementation of WebPlatformShim

Closes #1300