Adjust TransferFunction worklet to get color table as ExecObj argument
Previously, the `TransferFunction` worklet required you to call `PrepareForExecution` on the `ColorTable` and give that to the constructor. Bad things can happen if the `ColorTable` used in the constructor does not match the device the worklet actually gets invoked on. Change this to make the `ColorTable` a worklet argument of type `ExecObj`. The dispatcher will automatically call `ColorTable::PrepareForInput` and guarantee that the devices match.
Showing with 28 additions and 45 deletions