x/tools/present: parse presenter notes and record them in Section struct

This is the first of a series of changes that add support for
speaker notes to the Go present tool. This is done by displaying
slides with speaker notes on a second window, and synchronizing
both windows.

Updates golang/go#14654

Change-Id: Ic7b158d1e40f9e7e58d01791c88909f5619ce87f
Reviewed-on: https://go-review.googlesource.com/21485
Reviewed-by: Andrew Gerrand <adg@golang.org>
diff --git a/present/parse.go b/present/parse.go
index 034a83c..39d44f3 100644
--- a/present/parse.go
+++ b/present/parse.go
@@ -97,6 +97,7 @@
 	Number []int
 	Title  string
 	Elem   []Elem
+	Notes  []string
 }
 
 func (s Section) Sections() (sections []Section) {
@@ -338,6 +339,8 @@
 				}
 				lines.back()
 				e = List{Bullet: b}
+			case strings.HasPrefix(text, ": "):
+				section.Notes = append(section.Notes, text[2:])
 			case strings.HasPrefix(text, prefix+"* "):
 				lines.back()
 				subsecs, err := parseSections(ctx, name, lines, section.Number, doc)