Treat slice in the same way as the rest of members
Initialize members in the order of declaration
No need to keep kkrev, since it may be computed on the fly

Global memory IO is much more expensive than arithmetic operations.
Optimize Chebyshev construction

Again, there is no need to store intermediate values to global memory
when those could be computed on the fly.

Also replaced boost::math::constants::pi with vex::constants::pi
Use full form of vector constructor.

Users may want to use shorthanded version by omitting the context
parameter, but library authors should never do this. The shorthand
uses the context that was initialized last, and this could be wrong
under some circumstances.
Save one compute kernel call
Merge pull request #2 from ddemidov/master

Cleaned up VexCL-related code