Ryan Vogelsong pitches Giants past Rangers 5-2