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
maybe we could distinguish "invalid expressions" (i.e. invalid JavaScript) from "expression not allowed" (or "assignment expression not allowed")?