French President Emmanuel Macron wins reelection over far-right challenger