GPFL: A Gradient Projection-Based Client Selection Framework for Efficient Federated Learning