Improve cuda driver initialization
Add defer cleanup contextmanager
Add ondemand target loading
Fixes runtests.py for Py2