Draft: core: implement black point compensation
Black point compensation linearly scales colors to fit the darkest brightness a display can show, in order to prevent clipping and thus banding in the dark areas of images.
This only does anything with an ICC profile set atm, and it uses lcms to estimate the black point (as the explicit bkpt
tag is apparently, like half the tags of ICC profiles, almost always wrong)