Implement stripping

The parser now respects the handlebars stripping flags. Whitespace is removed from the AST at parse time. Any unnecessary text nodes are removed. This works nicely with single element programs. Instead of writing

```handlebars
{{#each}}<li>foo</li>{{/each}}
```

you can write

```handlebars
{{#each~}}
  <li>foo</li>
{{~/each}}
```

and still generate an optimized fragment

```javascript
function build(dom) {
  var el0 = dom.createElement('li');
  dom.appendText(el0, 'foo');
  return el0;
}
```