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
probably add crockfor license + a link to http://javascript.crockford.com/tdop/tdop.html for more explanation on the top-down Pratt parser