Port framework changes from master

Now requiring the headers to be configured for OpenCL > 2.1.
75 files changed