feat(viewPort): adds initial implementation of ViewPort.

ViewPort is the mechanism backing @Template directives. Those
directives can use the viewport to dynamically create, attach and
detach views.
just a thought. maybe a better way to assert this kind of things is to have something like this

```
expect(text(viewPort)).toEqual('hi one two');
```

So you can see the content of the viewport.