Allow vector valued matrices and vectors in spmv

Makes the following possible:

    vex::SpMat <cl_double2> A;
    vex::vector<cl_double2> x, y;
    y = A * x;