PreAfford: Universal Affordance-Based Pre-Grasping for Diverse Objects and Environments