Still mostly mindless numb work, one rename that touched many files
(`getArgumentParser` -> `getArgumentParserCls`), and a few real
improvements.
The goal is to be able to turn on `noImplicitAny` for the project, to
enforce higher code quality. 600 violations to go.
The recent change to the way NVCC compilation is handled broke support
for NVRTC. NVRTC can only compile device code, so the host-compilation
approach now used for NVCC (using --keep) is incompatible.
This PR gives the NVRTC compiler its own class and restores the old
behavior. The class is a copy of the old NvccCompiler class, with minor
updates to match the code in the new NvccCompiler class where possible
(plus TypeScript).
This PR also removes NVRTC from `cuda.gpu.properties` (because its
output cannot be executed), and updates the list of versions to match
NVCC.
cc @jrhemstad @trxcllnt