Defer CUDA driver initialization

- Make driver initialized deferred to the first use.
- Use can check the availability of cuda by using numba.cuda.is_available().
- Remove the need for dummy CUDA API.
- This should allow building CUDA API docs even if the machine does not support CUDA.

Let's have a docstring here (and in cuda_error() and the new Driver methods too).