Fix crash when a thread state that was created by :c:func:`PyGILState_Ensure`
calls a destructor that during :c:func:`PyThreadState_Clear` that
calls back into :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`.
This might occur when in the free-threaded build or when using thread-local
variables whose destructors call :c:func:`PyGILState_Ensure`.
