Block-aware brace matcher

Update brace matching to pair open and close blocks (rather than always
pairing open and close mustaches).

For example, placing the caret at the open stache in `{{#foo}}` now
highlights the close stache in `{{/foo}}` and vice-versa.

This also means that you can now get a preview of a matched open block which is out of view:

![brace_match](https://f.cloud.github.com/assets/711001/258774/2860543c-8ca8-11e2-82c0-5ef92dd09a69.png)