Portland ranks best US city for vegetarians and vegans