French President Macron calls a snap election after defeat in EU vote