Semi-implicit finite difference methods for the two-dimensional shallow water equations