Add a preprocess callback option.

Addresses #38.

Allows you to set a `preprocess:function` callback to manipulate the input before it gets passed to the handlebars compiler.

Here is an example that compresses consecutive whitespace characters into a single character.

```javascript
preprocess : function (source) {
    return source.replace(/\s+/g, ' ');
}
```

Before:

```html
<div>
    <p class="mini   doge">Wow</p>

        <span>So save</span>
    <p>Much compress</p>
</div>
```

After:

```html
<div> <p class="mini doge">Wow</p> <span>So save</span> <p>Much compress</p> </div>
```