ENH: Do not link against libpython when possible
This is similar to what is already done in ITK and SimpleITK.
The new vtkTargetLinkLibrariesWithDynamicLookup.cmake file is slightly modified copy from ITK/CMake/itkTargetLinkLibrariesWithDynamicLookup.cmake The explanation of what this patch tries to achieve is documented in this file.
A new argument is introduced, called OPTIONAL_PYTHON_LINK. When used, the module will be optionally be linked against libpython. In the module.cmake files, most vtkPython dependencies were moved to COMPILE_DEPENDS, so that libpython is not added to the target_link_libraries() call.
The vtkPython is explicitely linked against the python libraries, as this is a python executable.
Also, the find_package calls for the PythonLibs were made optional when possible.
Fixes: #16068 (closed)