Rory McIlroy wins PGA Championship