Add ExpressionTransform op

I've created an ExpressionTransform op that will allow users to describe transformations in terms of a mathematical expression string. I was unable to find a library that both supported expression parsing and shader generation, so I have written and included my own.

I have tested the expression transformation with various different equations, and it has been used in production for a few months:

Here is an example of an Alexa Log C transform:
```
  - !<ColorSpace>
    name: Alexa
    family: log
    bitdepth: 32f
    description: |
      Alexa Log C
    allocation: uniform
    allocationvars: [-0.125, 1.125]
    to_reference: !<ExpressionTransform> {rgb: "v > 0.1496582 ? (pow(10.0, (v - 0.385537) / 0.2471896) - 0.052272) / 5.555556 : (v -0.092809) / 5.367655 "}
```