Toronto mayor admits he smoked crack, vows to stay on