Refactor OpenCL execution. Make context reusable