[FindCUDA] improve CUDA target directory selection for cross-platform build

* improve CUDA_TARGET_CPU_ARCH cache initialization
* add CUDA_TARGET_OS_VARIANT option to select OS variant
* add CUDA_TARGET_TRIPLET option to select target triplet from
   ${CUDA_TOOLKIT_ROOT_DIR}/targets folder
* remove CUDA_TOOLKIT_TARGET_DIR option, now it is calculated from
   CUDA_TARGET_TRIPLET