Rename KSCl* classes to just KS*

This is so that it makes sense even if we aren't using OpenCL.
Put definitions together
Make OpenCL an optional feature.

Note that in practice it's still required, since I haven't abstracted
it away yet -- that's the next step.
Remove OpenCL code from KSBuffer.

The idea is as follows: we will use the d-pointer of the KSBuffer
and KSContext classes to differentiate between OpenCL and plain CPU
implementations. So we have a KSBufferPrivate class inherited by
KSBufferCL and KSBufferEigen, which provide the implementation.
Split the KSContext class in a similar way to KSBuffer.
Add an Eigen backend.
Don't use padded vectors of doubles.
Use floats with OpenCL.