Cole Hamels holds Rockies just enough, Rangers win