Versioned API 

This PR implements parts of #40. The code for OpenCL versions 1.1 and 1.2 is conditionally loaded if a platform is found that supports them.

Changes:
  - splitting up api.jl into api.jl,  opencl_10.jl, opencl_11.jl and opencl_12.jl
  - adds a functional `@ocl_func_deprecated`
  - removes `@ocl_func_1X` and changes `@ocl_func` to evaluate the expr in the api module
  - adds OpenCL.api.OPENCL_VERSION
  - adds `@has_ocl12?` macros