Billy Horschel defeated Rory McIlroy in a play-off to win his second BMW PGA Championship title in four years on a dramatic final day at Wentworth.