Expressions 2.0

Brand new expressions parser works recursively and has much better
type/unit handling. It also allows for bound properties and nested
functions.