Canada comes back to beat Latvia to punch ticket to World Championship final