Move some of the memory operations to the command queue to match OpenCL's API.
Moved some of the structures to public
updated test.rs to work with hl changes