feat(components): add support for multiple insertion points

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>
```
#1331