Emmanuel Macron has won France's presidential election with a resounding victory over Marine Le Pen. At the age of 39, he will become the country's youngest president.