Write a function min_max_scale(X) that takes a 2D numpy array X and returns a scaled version where each feature is in [0,1].