Sweet revenge: Federer stops Nadal in Wimbledon thriller