Plan: use the CPython GIL to create an atomic section.

Idea: locate the pointer to the interpreter lock (it is a 
static variable) and set the pointer to a different lock-structure while holding the GIL. Then upon releasing the 
GIL the wrong lock gets released and threads pending on the GIL continue to do so. This works fine.

Problem: if there is a thread that is waiting for io while I change the interpreter lock pointer, this thread will acquire the "false" GIL and then we get a mess ....