England secure their place in the World Cup final, showing grit to hold off a determined Canada at Eden Park.