more demosaic tuning for x-trans

- for x-trans don't downsample if scale > 33.3%
- don't use Bayer-only edge-aware median for < 1/3 scaled exports
- hide Bayer-only options in GUI
- use OpenMP for bilinear demosaic
- disable green-matching in demosaic for x-trans
- s/xtrans_lin_interpolate_f/xtrans_lin_interpolate/
- use a bitmask to show difference between Bayer and xtrans
  dt_iop_demosaic_method_t's

Regarding the first change: for Bayer don't downsample if scale > 50%.
For x-trans, the fast down-sample works off of 3x3 sensor matrix (which
is 1/4 of whole sensor pattern), rather than 2x2 as with Bayer.
first pass at Markesteijn demosaic for x-trans

Not ready for use! For now this is pretty much the dcraw code wrapped
to work w/in demosaic module. The demosaic pipeline data is converted
to dcraw-friendly format for processing, then converted back
post-processing. The dcraw code is 16-bit integer, rather than
floating point. Provisional and slow, but still noticeably better than
bilinear. Many other pieces need clean-up (c.f. the RGB to LAB
conversion).
first pass VNG interpolate

works on ints, not floats, and no optimization, but is better default
than linear, if much slower
VNG demosaic uses floats and openmp

the dcraw code uses 16-bit ints, convert to using floats;
OpenMP makes VNG much less sluggish
Markesteijn demosaic uses floats

previously worked on data as 16-bit integers
should otherwise be functionally unchanged
better/clearer Markesteijn demosaic OpenMP

User OpenMP in outer loop of tile processing rather than many nested
loops. This use NUM_CPUS times more memory, but tiles are small so
this should be OK. Also use OpenMP for cielab_init (though that is
temporary code) and for expanding raw mosaic into rgb buffer.
use Yuv rather than Lab in Markesteijn demosaic

Thanks to advice from Pascal de Bruijn that this will be nearly
equivalent with much less code, as the colorspace conversion is only
for determining homogenity of image across luminance and chroma.
tweak and clean up conversion to perceptual space

- try ITU-R BT.2020 YPbPr conversion instead of ITU-R BT.601 as seems
  to do slightly better on specular highlights plus it's so hip and
  cutting edge
- remove spurious luminance added in when doing chroma differential,
  which was a mystery residual of CIELab
- don't need anything from common/colorspaces.h any more
1:1 view demosaicer fixups

This fixes #9388, which applies to all sensors -- make 1:1 view use
chosen demosaicer in mid-quality config.

Update demosaic plugins/darkroom/demosaic/quality conf to mention VNG
in longdescription as x-trans' PPG equivalent. This leaves the config
choice inaccurate for x-trans, but at least doesn't break exsiting
configs. (If change this message to "at most PPG/VNG (reasonable)" then
demosaic will still do the right thing with exiting configs, but the
preferences screen will show a blank entry for this choice
until the user next changes it.)
x-trans demosaic fixups

- give up interpolation on failed malloc
- use dt's CLAMPS
- allocate Markesteijn buffers in a block outside of parallel
  construct to avoid many alloc/free cycles
inpaint highlight reconstruction for x-trans
rawspeed for fuji x-series cameras

- update dngmeta.sh to read 6x6 CFA -- this code could also work for
  2x2 CFAs, though currently each has its own path
- patch rawspeed to handle 14 bpp RAF files -- this may not work in
  all cases, needs more testing
- pre-rotate matrix when load image
- add x-series cameras support in cameras.xml (when in doubt use crops
  as reported in raw file rather than from observation)

White/black levels and crop may differ from libraw version.
document different behavior for x-trans sensors
cleaner edges for Markesteijn demosaic

Make a mirrored/interpolated extra border to give algorithm room to
work. Thank you to Lars Kotthoff for the idea! This version uses more
memory and is slightly slower, but worth it to help the top tier
algorithm do a good job on edges with a lot of detail.