Roger Federer's bid for a seventh Wimbledon title is over after he was stunned in the quarter-finals by Jo-Wilfried Tsonga.