add recursive block parsing to the handlebars parser

@BYK r?

This adds recursive parsing of blocks, which a project I'm working on uses. It's ugly, but I didn't want to rewrite the entire parser right now. A proper recursive descent/ascent would be better.