Practical Gauss-Newton Optimisation for Deep Learning