Canada edged the Czech Republic 4-3 in a dramatic Olympic ice hockey quarter-final overtime victory, advancing to the men's semi-finals.