add support for custom elements

previously the only way to include partial views was via the non-standard `<include>` tag, this PR implements the bare minimum required to allow partials via custom elements, e.g. `<my-element>`, making it more inline with polymer. For now this is done by explicitly mapping element names to relative view paths, for example:

***usage***

```js
var HTMLing = require('htmling');

var templates = HTMLing.dir(__dirname + '/templates', {
  elements: {
    'my-element': '/elements/my-element.html'
  }
});
```

***elements/my-element.html***
```html
<p>Hello {{name}}</p>
<content></content>
```

***input.html***
```html
<h1>Greetings</h1>
<my-element name="charles">foo</my-element>
```

***output.html***

```html
<h1>Greetings</h1>
<p>Hello charles</p>
foo
```