Charlie Hales wins Portland mayor's race