Screen: Add > 8 bpc capture support to libdc1394 video capture.

A new optional parameter 'bitdepth' in Screen('Openvideocapture')
allows to request video capture with more than 8 bpc color/intensity
resolution.

The parameter is currently silently ignored by the GStreamer capture
engine. It always captures at 8 bpc.

On the dc1394 engine, requesting > 8 bpc will cause the engine to
request a 16 bpc video format from the camera. This leads to failure
if the camera doesn't support > 8 bpc. If the camera supports > 8 bpc,
video capture of a 16 bpc stream is done and video data is returned
accordingly, either as a Matlab/Octave matrix of uint16 format, or as
Psychtoolbox textures of 16 bpc or 32 bpc floating point format.

Most "16 bit capable" cameras won't actually have 16 bit sensor
resolution. They will return a lower precision, e.g., 10 bpc or
12 bpc are common in the < 2000$ class, but will encapsulate it
in a 16 bpc container. The capture engine will adapt accordingly.

If the net payload is <= 11 bpc, then 16 bpc float textures are used.
Net payloads > 11 bpc are returned inside 32 bpc float textures to
preserve the full color resolution. This is needed because 16 bpc
float can only store approximately 11 bpc linear precision in the
normalized 0.0 - 1.0 range used by returned image data.

Add new function to scripting glue: PsychAllocOutUnsignedInt16MatArg()
to allow efficient return of uint16 matrices in high bit depth mode.

-> Screen for 64-Bit Octave on Linux rebuilt and tested.
-> Tested successfully on a 12 bpc firewire camera in both luminance
   and color mode, (MONO 16 --> Bayer --> RGB16 in case of color mode).

-> Videocapture & texturing tested.
-> Return of uint16 data to Octave tested.
-> Return of average intensity values in 8 bpc and 16 bpc mode tested.

-> All works as expected.