WIP: Modernize CUDA build for simplicity and use by downstream clients
This is a startup/WIP MR to investigate ways to modernise the CUDA part of the VecGeom CMake build (so no C++/CUDA changes). To include:
- Use of CMake's first class CUDA support rather than
- Handling of static/shared libraries with separable compilation and usage requirements/recipe for downstream clients (AdePT/Celeritas projects are immediate use cases).
All that's done for now is to create the branch and MR for shared work with @pcanal. The initial commit is purely there to start the branch, bumping CMake to 3.12 initially for improved CUDA/other support (but suspect we'll need further bumps).