Keep original scanned tokens.

In case of parse failures, the consumed tokens may have been
transformed when put onto the value stack, so we can't simply
move them back. So we look up the correct point in the original
list of tokens and replace our remaining tokens with those
from the original list.
Don't backtrack further up the stack than really needed.
Allow extension in custom tag args.
Don't add __render_variables to custom tag vars.

It makes ChicagoBoss choke. Thanks @entronic for reporting.
The same effect can be had by passing a copy of the Variables with the RenderOptions.
Thanks @evanmiller for tip.

See pull request #83 for discussion.

The same effect can be achieved
Merge pull request #84 from kaos/zotonic

Zotonic