Ability to have HTML conditional blocks that are hidden by default

This pull request implements a feature that is talked about in various issues, e.g. #3.

It allows you to create `preprocess` blocks that are hidden from the browser if the file has not been processed. Here is a real example from our use case:

``` html
<!-- @ifdef MODE_RELEASE !>
<script src="build/dist/ripple-client-desktop.js?v=0.2.25"></script>
<!-- @endif -->
<!-- @ifdef MODE_DEBUG -->
<script src="build/dist/ripple-client-desktop-debug.js"></script>
<!-- @endif -->
```

Note the `!>` end tag in line 1 that closes the conditional such that preprocess can detect it, but is ignored by the browser. This makes it so that in the unprocessed file the debug script will be used and in the processed file with `MODE_RELEASE`, the production version will be used.