Rewrite ocl::distanceToCenters. 

It supports NORM_L1 distance types now and can use user provided indices of source input.
Also fixed a bug of kmeans where distance pointers should be float instead of double.