GPU error codes as strings

This pull request makes GPU API runtime errors more human readable, and also outputs some useful device info for OpenCL like the CUDA runtime now does.