Cain pitches 1-hitter, Giants win home opener