stdlib_times does not compile with Nvidia NVCC compiler
NVCC may define nanosecond and this seems to conflict with Nim times.

The error message when compiling tests_cuda.nim with just test_init_cuda enabled is

https://github.com/mratsim/Arraymancer/blob/2e7b193ee0554cbbca510a18be16f5564671803c/tests/tensor/test_init_cuda.nim#L15-L33

```
Error: execution of an external compiler program '/opt/cuda/bin/nvcc -c -w -arch=sm_61 --x cu -Xcompiler -fpermissive  -I/home/beta/.choosenim/toolchains/nim-0.20.0/lib -I/opt/cuda/include -I/opt/cuda/include -I/home/beta/Programming/Nim/Arraymancer/tests -o /home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp.o /home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp' failed with exit code: 1

/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:322:118: error: expected ‘,’ or ‘...’ before numeric constant
 N_LIB_PRIVATE N_NIMCALL(tyTuple_pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst_wPlTAoiD9bfaYQuVXohuphA)(NI64 unix);
                                                                                                                      ^   
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:326:113: error: expected ‘,’ or ‘...’ before numeric constant
 N_LIB_PRIVATE N_NIMCALL(tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q, initTime_JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix, NI nanosecond);
                                                                                                                 ^~~~
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1501:118: error: expected ‘,’ or ‘...’ before numeric constant
 N_LIB_PRIVATE N_NIMCALL(tyTuple_pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst_wPlTAoiD9bfaYQuVXohuphA)(NI64 unix) {
                                                                                                                      ^   
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1558:113: error: expected ‘,’ or ‘...’ before numeric constant
 N_LIB_PRIVATE N_NIMCALL(tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q, initTime_JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix, NI nanosecond) {
                                                                                                                 ^~~~
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp: In function ‘tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q initTime_JIXNH9cQMG3SbZ0hXqEYDvA(NI64)’:
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1565:23: error: ‘nanosecond’ was not declared in this scope
  result.nanosecond = nanosecond;
                       ^~~~~~~~~~
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1565:23: note: suggested alternative: ‘atomicAnd’
  result.nanosecond = nanosecond;
                       ^~~~~~~~~~
                       atomicAnd
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp: In function ‘tyObject_ZonedTime_WigfH9apQAxJ69bBPh3wB8RQ localZonedTimeFromAdjTime_GmSlVYJeJjQvBZrTGP0v1w(tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q)’:
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1636:77: error: too many arguments to function ‘tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q initTime_JIXNH9cQMG3SbZ0hXqEYDvA(NI64)’
  result.time = initTime_JIXNH9cQMG3SbZ0hXqEYDvA(utcUnix, adjTime.nanosecond);
                                                                             ^
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1558:75: note: declared here
 N_LIB_PRIVATE N_NIMCALL(tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q, initTime_JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix, NI nanosecond) {
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp: In function ‘tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q getTime_h20mpqrwsumk6J9bRdCm6IQ()’:
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1687:109: error: too many arguments to function ‘tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q initTime_JIXNH9cQMG3SbZ0hXqEYDvA(NI64)’
  result = initTime_JIXNH9cQMG3SbZ0hXqEYDvA(((NI64) (ts.tv_sec)), ((NI)chckRange(ts.tv_nsec, ((NI) 0), ((NI) 999999999))));
                                                                                                             ^
/home/beta/.cache/nim/tests_cuda_d/stdlib_times.nim.cpp:1558:75: note: declared here
 N_LIB_PRIVATE N_NIMCALL(tyObject_Time_3y2ZpqsTJLqdZvpC9a0rU2Q, initTime_JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix, NI nanosecond) {
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stack trace: (most recent call last)
/tmp/nimblecache/nimscriptapi.nim(162, 16)
/home/beta/Programming/Nim/Arraymancer/arraymancer_10691.nims(146, 8) test_cudaTask
/home/beta/Programming/Nim/Arraymancer/arraymancer_10691.nims(114, 10) test
/home/beta/.choosenim/toolchains/nim-0.20.0/lib/system/nimscript.nim(242, 7) exec
/home/beta/.choosenim/toolchains/nim-0.20.0/lib/system/nimscript.nim(242, 7) Error: unhandled exception: FAILED: nim cpp -o:build/tests_cuda -d:cuda -d:cudnn --cincludes:/opt/cuda/include --cc:gcc --gcc.exe:/opt/cuda/bin/nvcc --gcc.linkerexe:/opt/cuda/bin/nvcc --gcc.cpp.exe:/opt/cuda/bin/nvcc --gcc.cpp.linkerexe:/opt/cuda/bin/nvcc --gcc.options.always:"-arch=sm_61 --x cu" --gcc.cpp.options.always:"-arch=sm_61 --x cu -Xcompiler -fpermissive" -d:cudnn -r tests/tests_cuda.nim
     Error: Exception raised during nimble script execution
```

This can be workaround by using clang with the following specific flags: `clang++ -c -w -lcudart_static --cuda-gpu-arch=sm_61 -ldl -lrt -I/opt/cuda/include`.

At first glance it doesn't seem like the random module calls the offending times proc.