A Weighted Surface-Gradient Method for the integration of 2D shallow water equations with topography