CL: Implement clone for kernel object clCloneKernel() can be used to make a shallow copy of a kernel object. The returned object is an exact copy of the source kernel, with latest calls to arguments sets applied to the kernel. Implement a clone version at the front-end with replicating the `clSetKernelArg` called on the source kernel. The `clSetKernelArgsSVMPointer` and `clSetKernelExecInfo` are ignored as they are currently unsupported. Bug: angleproject:376023087 Change-Id: I2e21931d9ff799e35b153cffe91fd4a2adbbf88d Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971715 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>