Added constructor to create balanced KDTree from a set of data points