core: refactor colorimetry, add a constructor and ensure the whitepoint isn't zero
Caching the to/fromXYZ provides a small optimization, and this ensures we never assert in Qt because of a division by zero
Caching the to/fromXYZ provides a small optimization, and this ensures we never assert in Qt because of a division by zero