fix(expressions): work around for the new operator and constructors overriding apply
refactor: use Pratt's parser in {let} blocks

Closes #280
adds custom attributes

Close #257
adds a handler for class attributes
adds a handler for model and value attributes