Updated scheduler benchmark to reflect a more involved vector operation.

x = y + z replaced by x = alpha * y + beta * z, which involves more dispatching.
Overhead still below 0.5us on my Desktop machine, hence small compared to kernel launch overhead.
Fixed test for global variables.

double may not be available on OpenCL devices, thus causing the test to fail without something being broken.
Fixed wrong return type of memory handle for circulant_matrix and hankel_matrix
Introduced viennacl::context() as a generic context unifying OpenCL contexts and CUDA streams/devices.

So far available in the constructors of vectors only. Extension to matrices to come.