DownloadPsychtoolbox/PsychtoolboxPostInstallRoutine: Update for 3.0.12

No 32-Bit Matlab support anymore.
No OSX 10.7 and earlier support anymore.
Test-rebuild of mex files for 32-Bit Octave on Linux.

Not the final thing, as this wasn't done on the new
build system.
Add new folder Psychtoolbox/PsychHardware/LinuxX11ExampleXorgConfs

Contains various xorg.conf files which were successfully tested
at some point, so can serve as a reference for non-standard
X11 display setups on Linux.
Add 32-Bit libportaudio.a for Linux to Cohorts/Portaudio

To make preparation of a 32-Bit Linux build system a tad less painful
next time.
-> Stored as libportaudio32Linux.a to cp into
/usr/local/lib/libportaudio.a
All mex files for 32-Bit Octave on Linux rebuilt.

Built against Octave 3.8.1 on the new Ubuntu-14.04.1-LTS build system.
Exception is Datapixx, which is old but compatible with Octave 3.8.x

-> In principle all mex files for all supported platforms are now ready
for release, unless we decide to rebuild moglcore against new OpenGL
specs or rebuild Datapixx from sources, but both are not high priority.
Merge branch 'master' of https://github.com/kleinerm/Psychtoolbox-3

Conflicts:
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/GetSecs.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/IOPort.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/PsychHID.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/PsychKinectCore.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/Screen.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/WaitSecs.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/moalcore.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/moglcore.mex
	Psychtoolbox/PsychBasic/Octave3LinuxFiles/pnet.mex
DatapixxAudioKey: Unbreak on latest Matlabs

Turns out Matlab changed its mind again about how to treat [] empty
variables in boolean expressions, not considering “a && b” an error if
a or b is [] - Changing programming language behaviour retroactively -
wtf?!?

This causes this function to fail on at least R2013b. Fix it.
Add a xorg.conf_intel for example default setup for Intel gpus.

It disables triple-buffering as that is currently incompatible
with precise swap scheduling and stimulus onset timestamping.
Modify xorg.conf_intel to disable DRI3/Present and use DRI2 instead.

Finally found a intel-ddx option that allows to disable DRI3/Present
and revert to good old proven DRI2, without cumbersome the need to
use setenv('LIBGL_DRI3_DISABLE','1') from within Octave/Matlab.

Adding these disable options is a much more pain-free workaround for
us until we find a proper fix for the upstream server/ddx.

Disabling DRI3 via the "DRI" "2" option is neccessary, as just
disabling "Present" doesn't help. Disabling "Present" in addition
is not really needed. Maybe we deal with a DRI3 bug, or maybe it
is a Present bug and use of DRI3 without Present simply doesn't
work?

-> xorg.conf_intel updated.
-> Successfully tested on KUbuntu 14.10, XOrg 1.16.0, Mesa 10.3.0.
moglcore: Improve autocode.m code generator for robustness.

To handle OpenGL up to 4.5 and OSX 10.9.x parsing better.
moglcore: Update included GLEW to version 1.11.0

As usual "MK" PTB specific patches applied for OpenGL-ES
basic support, and the fact that we include the source and
header files into our moglcore build, instead of linking
statically or dynamically against an external libglew.[a/so/dylib/dll]

This is supposed to update GLEW to OpenGL-4.5 + equivalent/additional
extensions for pre-OpenGL-4.5.

However, it seems as while extension support seems to be up to date,
the core profile support for everything beyond OpenGL 3.0 is somewhat
incomplete: OpenGL 3.0 is covered about 60-80%, OpenGL 3.1+ becomes
more sparse. From OpenGL 4.1 on, all core profile entry points seem
to be missing, compared to Khronos official glext.h file!

We will need to restrict ourselves to roughly OpenGL 3.0 core profile
plus extensions which provide OpenGL 3.1+ functionality, otherwise
our auto-generated gl_auto.c interface code won't build against current
GLEW.
moglcore: Add updated glext.h, derived glext_edit.h and glu_edit.h

The glu.h coming from OSX is not parseable by our code generator
anymore, as Apple decided to sprinke DEPRECATED macros all over
the place to declare their intention to make use of GLU in the
future as painful as possible. Therefore we include our own
untainted copy of it, as permitted by its license.

glext.h is up to date as of OpenGL version 4.5 and extensions.
glext_edit.h removes some useless defines etc. to make it better
parseable.

This glext_edit.h has functions which are not supportable by
current GLEW 1.11 at build time, so this is just a baseline
for further stripping off of functions.
moglcore: Remove OpenGL 3.1+ core and SGI extensions from glext_edit.h

Delete SGI extensions fro prehistoric times.
Delete entry points for OpenGL 3.1/3.2/3.3/4.0/4.1/4.2/4.3/4.4/4.5,
but not the constant defines.

This should avoid generation of code and glXXX wrappers for functions
which are not available in our (usually) < 3.1 contexts, and which
are only incompletely supported by current GLEW 1.11.0.

All useful and supported functionality should get drawn in again
via the OpenGL extensions, which provide much/most(all?) OpenGL
3.1+ core functionality.
moglcore/autocode.m: Only add GL functions supported by current GLEW.

Cross-Check each candidate entry point, if it is supported/defined by
glew.h from current GLEW version, so we avoid generating uncompilable
C code in gl_auto.c due to missing GLEW support.

Exceptions from this rule are gluXXX and glutXXX functions.
Revert "moglcore: Remove OpenGL 3.1+ core and SGI extensions from glext_edit.h"

This reverts commit 6e367d7b234e0eb326a7adae6dcdd9d94a18b098.

The current glext.h aka glext_edit.h file does no longer define
function entry points from GL extensions which are also part of
an OpenGL core version.

This means we can't delete the core GL version definitions of those
functions without also losing access to functions of the same name
under some GL extensions.

Soo, revert this change, throw everything at our parser and let
the updated parser reject all functions which are not also defined
as supported in GLEW's glew.h file.

Oh the fun...
moglcore: Update codegen with new GL data types.

Add some new GL data types to cparse.m and mcinfo.m,
so proper interface code is generated for those data types:

GLint64EXT, GLuint64EXT, GLintptr, GLuintptr, GLintptrdiff,
GLcharARB
moglcore: Manually implement glTransformFeedbackVaryings()

... and also its EXT and NV variants and associated wrappers.
moglcore/autono.txt: Remove some blacklisted functions.

They are now supported by GLEW 1.11.0, so use them.
moglcore: Add new auto-generated gl_auto.c, and regeneration log.

This should be the first useable new C-code for the "new"
moglcore.
moglcore: Add 1510 new M-File wrappers.