more robust regex tokenizer to handle {{ "}}" }} and liquid-style {{{ x }}}; add tests