moalcore/moglcore: Add include of uchar.h to fix compile failure on R2012a

Add explicit #include <uchar.h> before include for mex.h into
mogltypes.h and moaltypes.h. Apparently latest versions of gcc
and clang do not include this file automatically, which causes
build failure for moglcore and moalcore under Matlab R2012a on
recent Ubuntu 14.04 and OSX 10.9.

Adding the defines fixes this. Similar fix may be needed for
some mex files on OSX which don't use Psychtoolbox core
infrastructure.
Screen: Disable RTLD_GLOBAL export of Screen's symbols on Linux.

Disable the dlopen() self-reloading() of Screen. It had the
purpose of making Screen's symbols globally available to other
shared libraries. However, the reason for doing this is long
gone (ListenChar magic sauce for Octave + GUI) as it proved
too fragile.

Now the code just causes trouble because mex files like
moglcore.mex would use Screen's symbols (e.g., for GLEW stuff)
and keep Screen.mex loaded into the process when it should
unload on 'clear Screen'. We disable this useless code, but
leave it in place to document the approach for future more
targeted use.

-> This prepares the latest workaround in the next commit
   for an annoying Mesa bug.

-> Remove some orphaned prototype from ScreenCloseAll().
Screen: Try harder to workaround Mesa OpenGL bug.

Same cause and solution principle as in commit

77b7b0fb2581473b5c1944b8f4b2161738da56e8

However, instead of locking Screen() into process memory, we
lock moglcore into process memory and make sure Mesa gets its
evil string pointers targeted to moglcore.

1. Perform OpenGL context creation/init/binding in Screen() as usual.
2. Detect buggy Mesa.
3. Call moglcore('LockModule') to trigger moglcore's glewInit() to
   get Mesa's pointers directed towards its library image and to
   mexLock() moglcore into memory, so moglcore is a safe haven for
   Mesa's pointers until the work session gets terminated normally.
4. Call Screen()'s glewInit(). Mesa won't redirect its pointers, as
   it already has happy pointers towards moglcore.

-> moglcore can'b be clear'ed, but that doesn't matter, given how
   rarely one rebuilds or reinitializes it. Or so i hope...

-> Screen is not locked and can be clear'ed as usual, which is
   convenient :)

-> Seems to work. Needed new moglcore('LockModule') subfunction to
   trigger a mexLock() inside moglcore, followed by a no-op otherwise.

-> Tested on Octave and Matlab on Linux with Mesa's Gallium nouveau
   driver under Ubuntu 14.04-LTS.