Add support for 2D read/write
Factorize OpenCL driver