Rory McIlroy took control of the USPGA Championship as the final major of the year made up for lost time at Kiawah Island.