Avoid CL_INVALID_HOST_PTR when creating buffer

OpenCL's clCreateBuffer requires the host pointer argument to be NULL
when the CL_MEM_COPY_HOST_PTR or CL_MEM_USE_HOST_PTR flag is not given.
Our function opencl_create_device_buffer accepts a host pointer, to
catch pencil_alloced buffers.  It should not pass that pointer to
clCreateBuffer if neither of the aforementioned flags is given.