shaders/icc: rework ICC profile black point handling
The current ICC profile handling had a number of limitations:
- Parts of the 3DLUT range were wasted in unrepresentable sub-blacks.
- V2 profiles with black points not matching the V4 perceptual black target completely broke when using perceptual intent, causing black distortions.
- We (intentionally) did not do any black point compensation.
- Our approximation profiles were a poor fit for BT.1886-style technical gamma functions.
Improve the status quo by making two important changes:
- Tune the approximation profile to use a BT.1886-style technical gamma curve tuned to the exact measured black point of the display.
- Enable black point compensation
This should allow owners of broken colorimetric V2 profiles to rely on perceptual mapping tables with black point compensation instead,
Closes: #210 (closed) See-Also: https://github.com/mpv-player/mpv/issues/10442 See-Also: https://github.com/mm2/Little-CMS/issues/328