Macron elected French president