refactor: use Pratt's parser for expressions in attributes

Closes #288
refactor: remove the biggest parts of the former expression parsing algorithm

Closes #296