Adjust comment handling to match Handlebars.js behavior

Instead of relying on properly nested delimiters inside comments, we
adopt the comment behavior in Handlebars.js:

* `{{! }}` comments end with the first `}}` encountered, no nested
    braces are allowed.
* `{{!-- --}}` comments allow any number of `}}` whether they are
    properly nested or not.

Fixes #310