Differentiable MPC for End-to-end Planning and Control