A game of surface codes: Large-scale quantum computing with lattice surgery