Gonzalez's walk-off lifts White Sox to top at season midpoint