[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.
Good comment.

Taken care of in latest commits