This adds a new macro which allows users to create closure functions which can capture C++ variables and make them available in OpenCL.