Fix awful mess of white-space issues in PsychGraphicsHardwareHALSupport.c

Only a thousand more god awful ugly formatted files to go...
PsychSetBeamposCorrection: Fix wrong crtc offsets for debug readback on NV-d0

Offsets for diagnostic readback of vblstart, vblend, vactive was wrong,
copy & paste error from NV-50. This caused some misdiagnosis of nouveau
problems.

-> Fix it so it actually has some value.
PerceptualVBLSyncTestFlipInfo.m: PerceptualVBLSyncTestFlipInfo, with extra diagnostic.

Uses the Linux-only Screen('GetFlipInfo') function for extra
diagnostics.
HighColorPrecisionDrawingTest: Make robust against octave's new plotting backend.

Octave's fltk default plotting backend uses OpenGL and doesn't restore
context bindings after executing, neither do we, we are both lazy.

This means that a innocent plotting command can change the OpenGL
context on our main thread and thereby make us render into the
plot window, or vice versa, with "funny" results.

Work around this in HighColorPrecisionDrawingTest.m for now by
switching to good'ol gnuplot backend if we detect this.

The same problem may happen with future Matlab releases, so need
to implement proper protection inside Screen() soonish.

-> Fixes failure on Octave 3.8.x for now.
AdditiveBlendingForLinearSuperpositionTutorial: Fix cursor handling.

Use Show/HideCursor(screenNumber) instead of Show/HideCursor,
so it can address multiple screen's on Linux individually
to take advantage of its higher flexibility.
Screen for 32-Bit Octave on Linux rebuilt for testing.
PsychImaging: Simplify setup of Native10Bit mode.

Screen('GetWindowInfo')'s winfo.SpecialFlags setting
1024 clearly signals if our 10 bpc framebuffer hack
is in use (1024 present) or if the OS did the 10 bpc
setup (absent). Check for this value to find out if
we need to load and attach our custom GLSL ARGB2101010
formatting shader, or if we can skip this step.

-> Get rid of the tons of driver checks.
Add experimental code for testing RGB11-11-10 "11 bpc" framebuffers.

New function PsychHelperCreateRGB111110RemapCLUT.m creates the multi-LUT
for output formatting, some quick and dirty hacks in PsychImaging allow
testing on one display head of a DCE-4+ class gpu.

This hack is temporary.
11 bpc testcode v2 - Seems to work somewhat ok.

-> Baseline for real implementation.
FlipTimingWithRTBoxPhotoDiodeTest: Also report too early flips.

Like VBLSyncTest does.
FlipTimingWithRTBoxPhotoDiodeTest: Improve plotting a tiny bit.

Use a different color for expected vs. real flip time delta.
Merge pull request #44 from Psychtoolbox-3/master

Resync with current master of official Psychtoolbox-3 repo.

Pull in David's new routines and OOP calibration stuff.
Fix IsomerizationsInDishDemo, IsomerizationsInEyeDemo, ValetonVanNorrenDemo.

Use proper short-circuit operators && instead of & to make them
work on Octave again.
PerceptualVBLSyncTestFlipInfo - Abort on non-Linux, as this is Linux only.
GraphicsDisplaySyncAcrossDualHeadsTestLinux: Refine implementation a bit.

-> Use first two assigned display heads of x-screen, not always heads 0 and 1,
   as those might be the wrong ones on a multi x-screen setup.

-> Restore screentohead mapping after testing procedure.

-> Add support for fast AMD multi-display sync before test as syncmethod 1.
-> Move old broken driftsync to syncmethod 2 and warn about its brokeness.
-> Cleanup help texts and plotting code.
Screen/PsychImaging: Add support for ~11 bpc framebuffers.

Add final setup code to Screen and PsychImaging for requesting
11 bpc framebuffers, and to provide 11 bpc framebuffers on AMD
cards under Linux and OSX, if the OS doesn't support these
natively.

Cleanup the 10/11 bpc framebuffer handling code and hopefully
make status messages for user more streamlined.

Cleanup/Update the PsychImaging help texts with what we
learned so far in our HDMI deep color adventures.

Add 11 bpc option to our two standard high bit depth demos
AdditiveBlending... and BitsPlusCSFDemo.

-> Actual mex files will go to separate commits, to keep this
   mergeable to the 3.0.11 release if we should decide to do this.

-> New code not yet tested on actual hardware.
Screen/Linux: Use old-style override-redirect even on KDE by default.

New-Style method for KDE doesn't play well with KDE multi-head setups,
and causes windows to be cut off, so only parts of the window show up
on dual-display presentation.

May need to rework this thoroughly but for now just disable it.
KDE's KWin works nicely with our fullscreen windows if the user
simply tells KWin once to unredirect fullscreen windows:

Go to: KDE System Settings -> Desktop Effects -> "Advanced" Tab ->
"Suspend desktop effects for fullscreen windows"
-> Check the checkbox, "Apply" -> Done.

Override redirect new-style can be forced on by
setenv("PSYCH_NEW_OVERRIDEREDIRECT", "1")
for experimentation.

-> Successfully tested to do the right thing(tm) on Ubuntu 14.04-LTS.
Screen/Linux: Restrict nouveau-kms pageflip workaround to Linux 3.13-3.15

The relevant bugs are fixed in Linux 3.16+, so are only present
in 3.13 - 3.15. Backports to 3.13-3.15 will likely happen, but
haven't happened yet, so leave workaround for those kernels active.
Rebuild Screen for 64-Bit Octave on Linux for testing.
Rebuild Screen for 64-Bit Matlab on Linux for testing.