Pro-Western candidate Nicusor Dan has unexpectedly beaten hard-right populist George Simion in the Romanian presidential election.