Make it more version agnostic

Load OpenCL 1.2 functions dynamicly

Because otherwise I can not build the dll on OpenCL 1.2 and
run it on nvidia cards which only supports 1.1

Make device versions steer function version calls