Centrist Emmanuel Macron will battle for the French presidency with far-right leader Marine Le Pen after the pair both advanced in the first round of voting.