Find starting tokens more reliably when mismatched open/closing tags.
Find starting tokens more reliably when mismatched open/closing tags.

In cases where open/closing tags are mismatched, for example "{{- }}"
we need to be sure these tags are not accidentally matched by a
similar but less specific tag, for example "{{ }}".

We achieve this by ensuring that if the current token's opening or
closing tags have a greater length than any previous matches, and
both the current token's opening and closing tags appear in the
template, we prefer the current token over the previous match.

twigjs/twig.js,dave-irvine/twig.js,dave-irvine/twig.js,justjohn/twig.js,justjohn/twig.js,dave-irvine/twig.js,twigjs/twig.js,twigjs/twig.js,justjohn/twig.js