Alexander Van der Bellen, who preached moderation and tolerance, has won Austria's presidential election over right-wing populist Norbert Hofer.