[WIP] Add support for CSS encapsulation to transcluding components

WIP [DO NOT MERGE]

* Extract ComponentCssLoader so it can be shared by ShadowDomComponentFactory and TranscludingComponentFactory
* Implement a CSS transformer similar to the one provided by Platform.JS. A more full-featured compiler will be submitted as a separate PR.
* Rename EventHandler into ShadowBoundary
* Rename WebPlatform into WebPlatformShim and provide two implementations: one based on platform.js and the other one built into Angular.


TODO:
- [x] Refactor ShadowDomComponentFactory#call and TranscludingComponentFactory#call.
- [x] Test ShimmingViewCache in isolation. At the moment it is tested indirectly. 
- [x] Test the default shim
- [x] Fix #1300

Includes #1304 
Closes #1300
There is an instance of EventHandler for every shadow boundary + the root one. The class used to only manage events, but it was a good/convenient place to add extra behaviour associated with the shadow boundary (e.g., inserting style elements). So Misko suggested to make it more generic and rename it into ShadowBoundary, which seemed like a good idea. Do you think it would be better to have several objects: EventHandler and CSSInserter?