Use cl::Context rather than cl_context

Instead of manually releasing the context in
OpenCL_device::Destructor, use the destructor provided in the
OpenCL C++ header. This prevents the same context being released
twice when using the C++ wrapper API alongside OclUtils.

Change Example.cpp to use the C++ cl::CommandQueue.