ListenChar/GetChar et al.: Make it work better sometimes with KbQueues.

We try to make the functions at least partially useable while KbQueues
are in use by the experiment script:

a) On Linux and OSX, at least ListenChar(2) input clutter suppression
should work in parallel with KbQueues. Downside: CTRL+C to disable
suppression in case of errors etc. only works if the KbQueue ist
started. Otherwise CTRL+C will be ignored and runaway scripts can only
be stopped by killing Matlab/Octave.

b) On Linux, CharAvail and GetChar may work in some cases by parallel
use of the tty magic "last resort" fallback, although only in
ListenChar(1) mode, not with ListenChar(2).

This is probably as good as it gets. Functions retested under these
conditions.

Also added some updated help text to explain the various caveats and
tradeoffs, and point to the often better KbQueue functions.

Also fix some formatting glitch in GetCharTest when we're at it.
striplibsfrommexfile: Also strip libcruft.

Apparently also not needed. Another potential candidate
would be liboctave, as the Datapixx mex file only links
against liboctinterpreter and apparently just works fine.
Linux & 64-Bit Octave: Strip all mex files from libcruft.

This just for testing with Octave 3.7.0+ devel. Other mex
files will be stripped before a release.

This makes the mex files compatible with Octave 3.7+, which
apparently doesn't have/use libcruft anymore.
striplibsfrommexfile: Also strip liboctave.so

It indeed isn't needed. Only liboctinterpreter is needed
by our mex files.

Mex files for 64-Bit Octave on Linux stripped and retested.
Others will be rebuilt as needed before a beta release.
PsychHID: Enable handling of CTRL+C on Octave 3.7+ in GUI mode.

Octave 3.7.0+ cool new QT-Based GUI does not forward CTRL+C keystrokes
to the interpreter. Therefore, interrupting runaway scripts is
currently not possible, at least not at its current state.

We detect Octave in GUI mode and use the same SIGINT signalling trick
that we always need to use on OSX in console mode. Presence of the
official Octave GUI can be detected by checking if the environment
variable 'GNUTERM' is set to 'qt'.

PsychHID for 64-Bit Octave on Linux rebuilt for testing.
Merge branch 'master' of https://github.com/kleinerm/Psychtoolbox-3

Conflicts:
	Psychtoolbox/PsychBasic/Octave3LinuxFiles64/PsychHID.mex
PsycHID 64-Bit Octave on Linux: Fix botched merge.
parseptblog.php: Fix it for Matlab 8.0 - there isn't any v7.15.

R2012b is Matlab 8.0, not Matlab 7.15 as expected. Fix parser
and display code.
Drawtext plugin: Disallow external symbols to override internal symbols.

use -Wl,-Bsymbolic and -Wl,-Bsymbolic-functions to protect internally
defined symbols and functions of the drawtext plugin from being
overriden by external symbols. This to protect the plugins internal
reimplementation of some QT classes/functions (QRgb, QString, QChar)
from being overriden by the same classes/functions in a real QT toolkit
framwork that is loaded into the running process. Why? Because the
Octave GUI makes heavy use of QT and our drawtext plugin seems to crash
or malfunction when used with Octave GUI. Hypothesis is that somehow QT
overrides with our internal ultra-thin Qt "look-alike" implementation,
or vice versa.

64-Bit Textrenderer plugin for Linux rebuilt for testing.
DrawTextPlugin/Linux: Make compatible with Octave 3.7+ GUI

Suspicion was correct, isolating the plugins internal "QT-Workalike"
symbols from the Octave process fixed the crashes and problems. Now
DrawText works correctly with Octave-GUI.

The new file linuxexportlist.txt defines the symbols that are exported
by the shared library - only the PsychXXX functions which define the
plugins API. New linker options are stored in the heading of
libptbdrawtext_ftgl.cpp which isolate all internal symbols from the
host process.

Drawtext plugin for 32-Bit and 64-Bit Linux rebuilt and tested.
Rebuild all Linux mex files for 32-Bit Octave.

To sync them with the 64-Bit files wrt. PsychHID, Screen, IOPort,
library stripping etc.
Add support for CTRL+C dispatch with Octave GUI.

Essentially we need to make sure that ListenChar(1) mode is enabled
whenever we would do this on 64-Bit OSX. Therefore replace IsOSX(1)
condition with additional check for IsOctave && IsGUI. IsGUI() is a new
function which returns 1 if either Matlab or Octave are running with
their native GUI's enabled.
PsychPortAudio: Fix small error in reporting of ElapsedOutSamples

'ElapsedOutSamples' as reported by the status struct from
PPA('GetStatus') not only reported real played audio content samples,
but also preceeding silence  padding samples when a audio onset time
was requested in any way. This means the count could have been too high
by up to 1 host audio buffer size, depending on setup anywhere between
64 (in low latency mode) and a couple of hundred samples (in
normal/high latency mode).

Fix it by accounting for the silence samples properly.
PsychPortAudio: Add a comment to reduce mk's confusion about live monitoring.

Add a comment to explain why the kPortAudioMonitoring processing code
is correct as it is, to avoid him wasting another hour of his live
being puzzled about the apparent brokeness. The code is correct for
standard feedback (no master/slave setup) and master-slave setups. It
is also correct if a 'when' start time is provided in PPA('Start') -
despite the mind-twisting offsets applied.
PsychPortAudio: Rebuilt for Octave on Linux/OSX, 64-Bit Matlab on OSX

Todo: Matlab for Linux, Windows, and 32-Bit Matlab for OSX.
Merge branch 'master' into KukaPlayer