rework OpenCL

Accept size of particles instead of dim, no longer limit param type
proper copy