Starting on the OpenCL things.

I have been having issues getting both OpenGL and OpenCL both happy on a
machine. On Ceclnx I can get the OpenCL to work and OpenGL has issues
and the opposite is true for when I work on my surface. Right now the
kernel cl files are done, but not yet going to be pushed because I want
to double check the range of theta and epsilon in the cl files.