C++ OpenCL Wrapper designed to provide an easy, object-oriented approach for OpenCL