refactor: use pratt parser for if expressions - WIP, DON'T MERGE

So, here is the (very) first version of the Pratt's parser being used for expressions contained inside {if} statements. This still needs some polishing and there are 4 skipped tests but opening this PR now for:
* code review
* tests checks in all browsers on Sauce
I would add another comment to explain that we have to catch all internal curly brackets to get the full expression text (even if not valid)