GPGPU backend update

 + Duplicate drvapi_error_string.h from cuda sdk to give much more
   readable error messages.
 + Add allocateMemoryForDevice function.