Add Hint to Improve Python Concurrency#

The new VTK_UNBLOCKTHREADS wrapper hint indicates methods for which we want to release the GIL and allow Python thread concurrency. In particular, we want to hint the Update() methods so that they can run concurrently from different Python threads, and more importantly, so that the Python interpreter itself is not blocked while these methods are executing.

This hint tells the wrappers to call PyEval_SaveThread() before the hinted C++ method is called, and to call PyEval_RestoreThread() afterwards. In order for VTK_UNBLOCKTHREADS to take effect, VTK_PYTHON_FULL_THREADSAFE must be ON when VTK is configured with cmake, since that configuration option ensures that the GIL is properly managed.