fixed issue #2445

@vigsterkr, @lambday found the problem in #2445: a call to elementwise_square on an SGMatrix block without specifying the backend (using the global backend). This causes no problems when the global backend is Eigen3, however, when the global backend is ViennaCL it doesn't compile because the viennacl implemnation of elementwise_square doesn't provide an overload for SGMatrix blocks. Fixed by explicitly specifying the backend the way it's done in the rest of CustomKernel.cpp