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
small fixups
Merge pull request #60 from JuliaGPU/vc/opencl20

API support for OpenCL 2.0 fixes #56
remove unused throws_pred
remove unnecessary imports
removes complicated test logic
adds colour output for tests
move create_test_buffer
use let clause instead of global const
fixes typo that ended up creating a global reference