PsychGSPlaybackRate: Reindent code to remove ugliness.
Screen: Allow efficient audio volume change for GStreamer movie playback.

If the Screen('Playmovie', movie, rate, loop, volume); function is
called while a 'movie' is already playing, passing in a 'rate' and
'loop' flag that is identical to the current playback rate and loop
setting, ie., a redundant setting, then allow to change audio mute
state and playback volume setting 'volume' to be applied with very low
overhead.

This allows on-the-fly changes of audio movie playback volume or
(un)muting of audio during playback.
Screen: Enable pre-/post-gl shutdown hooks for closing offscreen windows, textures and proxies.

The pre- and post- OpenGL shutdown callbacks which could be registred
via Screen('Hookfunction') so far only executed for onscreen windows at
closedown time. Now we also execute them for offscreen windows,
textures and proxies, so cleanup actions can be triggered.
Screen: Add 'specialflags' setting to protect against Screen('Close') to textures.

The setting flag 32 will prevent a texture or offscreen window from
getting automatically closed on call to Screen('Close'); ie.,
batch-closing. Only an explicit Screen('Close', texid) for the 'texid'
texture handle will close it.

This is to protect special offscreen windows or textures from
accidental deletion if usercode calls Screen('Close') for simplicity.
Such protection worthy offscreen windows might be offscreen windows
created internally by PTB, e.g., to act as drawing target for overlay
windows, lookup tables and similar gizmos.
PsychtoolboxKernelDriver: Build fix - Add missing function prototype.

PsychtoolboxKernelDriver for 32 bit and 64 bit OSX kernels rebuilt and
tested.
Screen mex files for all platforms (except arm) rebuilt.