introduces CLObject

adds an abstract type CLObject
refactors to use CLObject

removes ocl_object_equality macros
update .travis to use language: julia
Merge pull request #58 from JuliaGPU/vc/travis-lang-julia

update .travis to use language: julia
Merge pull request #55 from JuliaGPU/vc/CLObject

CLObject
update types and constants for OpenCL 2.0
adds opencl 2.0 api