Spmdm: Stabilized test with respect to round-off errors.

The use of random numbers resulted in some unpredictable failures in the test because of numerical instabilities.
This is now fixed by adding extra weight to the matrix diagonal and reducing the range of random values.
OpenCL kernels: Merged code generation for CSR times dense matrices.