Steering Distortions to Preserve Classes and Neighbors in Supervised Dimensionality Reduction