A fully-nonlinear computational method for wave propagation over topography