Improve KernelInfo.arguments initialisation. The size of the vector
should never change so we should just initialise it the cl_kernel
object is created.
Fix crash when arg_value argument of clSetKernelArg is NULL.
Setting this to NULL by client is legitimate so we need to support it.
We should add a test case for this at some point.