feat(components): adds support for multiple insertion points [WIP]

DON'T MERGE

This PR depends on #1293. 

The current implementation of transcluding components is very limited and allows only one insertion point (a wildcard) and does not support redistribution. This PR adds multiple support for multiple insertion points:

```html
<content select=".A"></content>
<some-component>
  <content></content>
</some-component>
```
I mean `void` and `this.`:
```
void set shadowDomView(View view) {
  _shadowDomView = view;
  _componentElement.nodes = view.nodes;
}
```