Linux XLib locking: The horror continues. Fix PsychHID XInitThreads()

Remaining use of XInitThreads in PsychHID can trigger crashes in
Screen() shutdown, due to mixup of non-threading and threading
x-connections in Screen vs. PsychHID. Only happened on Yaroslavs setup.

-> Make use of XInitThreads() in both Screen and PsychHID conditional
on a defined environment variable PSYCH_XINITTHREADS. By default it is
not used, as we have our own locking for Screen() and don't need it in
PsychHID due to it using dedicated x-connections for its threads (main
thread vs. kbqueue thread).
-> The environment variable is for debugging only, or in the faint hope
that it might fix crashes with the FOSS mesa intel/nouveau..
gfx-drivers caused by DRI2's racy way of sending drawable invalidate
events to clients. We'll see if it helps in those cases or not. Our own
locking definitely doesn't work reliably there on the Intel driver.