core/colorspace: add rendering intents
Rendering intents describe how to handle mapping between different colorspaces, what to do with out of gamut values and what to do if the whitepoint doesn't match. This way, clients can choose which behavior their content should get.