implement whitespace removal for Diet templates

Haml syntax: http://haml.info/docs/yardoc/file.REFERENCE.html#whitespace_removal__and_
and more Jade-like Scalate syntax: http://scalate.fusesource.org/documentation/jade-syntax.html#Whitespace_Removal:__code__gt___code__and__code__lt___code_

I think this is really useful feature.

It is compile time implementation, so removing whitespace inside runtime constructions (like `if` or `foreach`) works, but a little weird.

For example:
```
div<
    - foreach(i; [1, 2, 3])
        img
```
generates
```html
<div><img/><img/><img/></div>
```
but not expected
```html
<div><img/>
    <img/>
    <img/></div>
```
because `<` removes whitespace before `img` tag, and `foreach` repeats it 3 times already without whitespace.