Joao Fonseca, 19, defeats Casper Ruud in four sets to reach his first Grand Slam quarter-final at Roland Garros.