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>
```
If you do not include this in the PR, could you please create a new issue so that we address it later.