cmap -> real-valued functions on colours (wrong kind for functor)
Introduce make task to run tests
Per-mapping function tests, with approximate double comparison to rule out floating point errors.
Lower Approximate precision, XYZ --> LAB is correct.
Working LAB --> XYZ