vtk: clean up / reduce code repetition
This refactors the vtk expressions to use a generic base expression,
which is used for all 3 versions.
vtk 7.x no longer uses gcc 8, since the quirk of it not building with
gcc 9 seems to have been fixed.
This also makes the python bindings available for all 3 versions, and
fixes building them for vtk 8 by adding a patch.
- also create vtk_7 as several packages don't build with 8.x:
- itk5: vtkVersion.h header not found at compile time
- ants: version in tree (2.2.0) is incompatible with 8.2
- itk4: ants depends on both vtk and itk4, so use vtk_7
- gdcm: vtk header issue
- python3Packages.vtk: Python C API compilation error with Python 3.8
- upgrade vtkWithQt4 -> vtkWithQt5