Native10Bit frame buffer: Do not disable digital display dithering by default.

Now LoadIdentityClut() allows to specify if digital display dithering
should be disabled or not, as part of identity LUT setup. By default,
dithering gets disabled, as in the past, to retain backwards
compatibility.
If the optional 4th parameter ‘disableDithering’ is set to zero, then
the dither disable step is skipped and dithering control is left to the
OS and graphics driver.

PsychImaging() still disabled dithering by default for any display mode
that also needs a high precision output and an identity clut. This to
keep things like Bits+, Datapixx etc. working as in the past.

PsychImaging(‘AddTask’, ‘General’, ‘EnableNative10BitFramebuffer’)
however does still ask for identity gamma tables to provide 10 npc
frame buffer images untampered to the encoders, but it no longer
disables dithering on digital outputs anymore by default. The decision
to dither or not to dither is left to the OS and graphics driver. The
optional ‘disableDithering’ parameter can be set to 1 to force
dithering off. The idea here is that dithering can have some value,
e.g., as another psycho-visual method to simulate 10 bpc stimuli on 8
bpc displays, similar to our ‘PseudoGray’ bit stealing implementation.
A spec compliant graphics driver should decide based on display EDID
data if dithering is needed or not and do the right thing automatically.

-> Update PsychImaging, also clarify current status of 10 bpc support
in the help text, with what we’ve learned during the last days.
-> LoadIdentityClut updated.
-> Screen updated to allow setup of identity passthrough without dither
disable.

-> Screen for 64-Bit Octave on OSX rebuilt, but only lightly tested,
due to lack for suitable hardware.
-> We can only automatically influence dithering on AMD hardware, and i
only have Nvidia hw here.
PsychImaging: Add convenience setup function for dual-window dual-display stereo mode 10.

PsychImaging('AddTask', 'General', 'DualWindowStereo', slaveScreen);
allows to request stereo mode 10 for dual-window dual-display stereo
presentation, e.g., for OSX. The task opens the right-view window
(slavewindow) on screenId ‘slaveScreen’ and performs needed setup for
special cases, e.g., Native10BitFramebuffer mode, etc.

-> PsychImaging updated.
-> ImagingStereoDemo updated to show the new, more elegant approach.
Screen: Allow manual dither control for AMD gpu's.

A new function Screen('ConfigureDisplay', 'Dithering', screenId,
dither); allows to control dithering on all video outputs of screen
‘screenId’: dither = 0 -> disable dithering. dither != 0 -> Reenable
dithering, or if already enabled, program 32-Bit value ‘dither’ into
GPU dither control register.
-> Only supported on Linux and OSX for AMD gpu’s.
Screen/OSX: Keep compatibility to deprecated, outdated kernel driver revision 0 for now.

We are still nominally supporting OSX 10.6, and 10.6 ships on some
hardware with a 32-Bit kernel, so the 32-bit kernel driver is required.
We can’t update the 32-Bit driver anymore due to lack of SDK and
compilers, so that driver is eternally frozen to revision 0. Keep
Screen workable on rev 0 drivers. However, if a AMD GPU with a pre
DCE-4 display engine is detected (Radeon HD-4000 an earlier), output a
warning about the need to upgrade to revision 1 driver if any kind of
high bit depth stimulus presentation is to be done, as the old rev 0
driver only works correctly on single-display setups with HD-3000 /
DCE-2 and earlier, and doesn’t disable dithering at all on HD-4000 /
DCE-3. This can cause less robust operation on devices like Bits+ /
Bits# / Data/View/ProPixx, 10 bit frame buffers and digital panels.

-> Screen for 64-Bit Octave and Matlab on OSX rebuilt.