A FastNpoint implementation.
horrible error passing wrong j to callback.
kd_split will give an array of nodes.