[FEATURE] Expression field (Virtual field)

This adds the possibility to create virtual fields based on an expression.
In contrast to a field calculated with the field calculator such a field is calculated on the fly and will resolve to a different value when data on the underlying feature changes.
@m-kuhn I get a crash on this line if I attempt to load a project with missing layers