html: don't leave "in column group" mode when ignoring a token

Pass tests6.dat, test 26:
foo<col>

| <col>

Also pass tests through test 35:
<table><tr><div><td>

R=nigeltao
CC=golang-dev
https://golang.org/cl/5482074
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go
index 6618600..4cb2469 100644
--- a/src/pkg/html/parse.go
+++ b/src/pkg/html/parse.go
@@ -1166,8 +1166,8 @@
 		case "colgroup":
 			if p.oe.top().Data != "html" {
 				p.oe.pop()
+				p.im = inTableIM
 			}
-			p.im = inTableIM
 			return true
 		case "col":
 			// Ignore the token.
@@ -1176,9 +1176,10 @@
 	}
 	if p.oe.top().Data != "html" {
 		p.oe.pop()
+		p.im = inTableIM
+		return false
 	}
-	p.im = inTableIM
-	return false
+	return true
 }
 
 // Section 12.2.5.4.13.
diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go
index f44bf63..e887631 100644
--- a/src/pkg/html/parse_test.go
+++ b/src/pkg/html/parse_test.go
@@ -172,7 +172,7 @@
 		{"tests3.dat", -1},
 		{"tests4.dat", -1},
 		{"tests5.dat", -1},
-		{"tests6.dat", 26},
+		{"tests6.dat", 36},
 	}
 	for _, tf := range testFiles {
 		f, err := os.Open("testdata/webkit/" + tf.filename)