CUDA/AMD/CPU device agnostic array creation best practice

Back in the old days, we had GPUArrays working with CuArrays (named modified for security reasons), CLArrays and JLArrays. This was a very promising period :rofl: