Screen: Make setup of multi-sampling with imaging pipeline more robust.

Improve error handling and fallbacks if we can't get multi-sample
anti-aliased renderbuffers in imaging pipeline mode for requested
number of samples.

1. Decrease requested sample count for colorbuffer down to zero, as
before until a samplecount works.
2. If we end up with zero samples (aka no multi-sampling) continue
instead of failing completely. Should fix bug reported by Ian Andolina
in forum msg #14714.
3. If we can't get a stencil renderbuffer of matching sample count in
3d mode, fallback by not using a stencil buffer and printing a warning.
4. We still fail if we can't get a depth renderbuffer of matching
sample count in 3d mode. We can't opt out of that as 3d mode would be
utterly dysfunctional without it.

Screen for 64-Bit Matlab on OSX rebuilt and tested.
Screen: Try to use packed depth+stencil multisample renderbuffer for 3d imaging pipeline

Packed depth+stencil renderbuffers are supported on more platforms,
thereby 3d rendering + multisample anti-aliasing + imaging pipeline is
more likely to work well.
This change makes it work, e.g., on OSX 10.7.5 + NVidia GeForce GT
330M, which so far didn't allow multi-sampled stencil buffers with
imaging pipeline.

Screen for 64-Bit Matlab on OSX rebuilt and tested.
Screen/Linux: Make use of GLX_EXT_buffer_age for timestamp sanity checks.

If the buffer age extension is supported, use it to find out if the
gfx-driver really uses double-buffering for bufferswaps if our classic
timestamping path is active, as this is absolutely required for it to
work. This way we can detect accidentally enabled triple-buffering or
n-buffering on a gfx-driver reliably and give more targeted warnings
and troubleshooting tips to user. This is not relevant for use with
properly configured open-source stack, as there we can use the robust
os builtin timestamping.

The extension is currently (December 2012) supported on Linux by the
git master branch of the open-source graphics stack and by the current
beta release of the NVidia proprietary display drivers.

Recompile and test on such a driver (esp. NVidia binary blob) pending.
Screen/Linux: Workaround for bugs in SNA swap-scheduling of Intel-DDX.

The SNA implementation of the Intel-ddx had the same premature flip
(ignores targetMSC) bug as the standard UXA path. Additionally it also
ignored the "TripleBuffer" "Off" xorg.conf option! Both bugs are fixed
in Intel ddx release 2.20.16, tagged 15th December 2012. However, for
the SNA path a workaround for currently shipping ddx'es is possible.
Setting divisor = 1 instead of zero in glXSwapBuffersMscOML() call
forces the SNA implementation into a different code-path which is
bug-free - at least for our specific purposes.

This should fix swap scheduling and timestaming on broken pre-2.20.16
ddx'en with SNA enabled, and have no negative effect on fixed ddx or
UXA path.

Test pending, this workaround only "tested" by code review of the ddx
so far.
Screen('ColorRange'): Don't force color clamping on if unspecified.

Rather dumb behaviour was to assume clampcolors = 1 whenever no
optional clampcolors setting was given, instead of the less insane
option of just leaving the setting as it is. This caused an innocent
'ColorRange' query to change the clampcolors setting as a side effect,
e.g., each call to WhiteIndex() would execute a white =
Screen('ColorRange', window); query and thereby tamper with the
clampcolors setting. Hilarity ensues!

Switch to sane behaviour of leaving the setting alone if it isn't
specified by usercode.

Screen for 64-Bit Matlab on OSX rebuilt & tested, fixes #88.
NearestResolution: Fix screenNumber validation.

Closes issue #86 reported by Stéphane Rainville.