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