Contravariant Boussinesq equations for the simulation of wave transformation, breaking and run-up