video: Add support for non-BT.709 primaries

This add support for reading primary information from lavc, categorized
into BT.601-525, BT.601-625, BT.709 and BT.2020; and passes it on to the
vo. In vo_opengl, this sets the corresponding source gamut for the 3dlut
generation.

TODO:

1. Load the .icc profile once in preinit and fail earlier if it doesn't
   exist.

2. Re-use the icc-cache better, for multiple source gamut types. Maybe
   this should be a directory instead?

3. Expose this option to the end user and make it configurable, during
   runtime as well.

4. Make the :srgb suboption be aware of different gamuts. This probably
   requires hard-coding gamut transformation matrices.

Also needs further testing to make sure BT.2020 decoding is actually
correct. Do we have a BT.2020 source clip anywhere?
options: Expose --primaries to the user