Federer wins Halle