EvoX: A Distributed GPU-accelerated Framework for Scalable Evolutionary Computation