Eliminate a temporary Program object
Eliminate a temporary Program object

This was causing a crash for me because the temporary Program destructor called
clReleaseProgram on the cl_program with Program, and then clBuildProgram was
called on the same cl_program (belonging to the Program owned by the
shared_ptr, but it's the same cl_program).

CNugteren/CLBlast,gpu/CLBlast,CNugteren/CLBlast,gpu/CLBlast,gpu/CLBlast,CNugteren/CLBlast