is that when the stack unwindws, ~with_gil_t() will drop the GIL and then
~without_gil_t() will retake it again, adding a completely unnecessary
unlock/lock cycle.
Instead, do
no_gil.acquire_gil();
when we are ready to retake the GIL. ~without_gil_t() will then be a
no-op.