Halladay outduels Lincecum, Philly tops Giants 5-2