Performance improvements

- Random number generation in all backends
- JIT backend for CUDA and OpenCL