auto table generation

Replace manually entered summary tables with ones that are populated
and sorted by bookmaker. This introduces a slight regression for
anonymous enums but fixes a lot of bugs and omissions.

The format is

#Topic somethingTopical
#Populate
##

where somethingTopical is one of Subtopics, Constructors, Constants,
Classes_and_Structs, Members, Member_Functions, and Related_Functions.

Fix the bad formatting in SkCanvas reference. The #Error tag was
was corrupting the markdown table. Remove the tag and replace it
with #NoExample.

Next up: revise self-check to know about populated topics.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=102080
Bug: skia:6898
Change-Id: Idef5d1c14c740c18a81d6a5106182788dd2a09e1
Reviewed-on: https://skia-review.googlesource.com/102080
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
diff --git a/docs/SkIPoint_Reference.bmh b/docs/SkIPoint_Reference.bmh
index 857c25d..4c39f82 100644
--- a/docs/SkIPoint_Reference.bmh
+++ b/docs/SkIPoint_Reference.bmh
@@ -2,72 +2,43 @@
 #Alias IPoints
 #Alias IPoint_Reference
 
+#Subtopic Overview
+    #Subtopic Subtopics
+    #Populate
+    ##
+##
+
 #Struct SkIPoint
 
 SkIPoint holds two 32 bit integer coordinates.
 
-#Topic Overview
-
-#Subtopic Subtopics
-#ToDo manually add subtopics ##
-#Table
-#Legend
-# name             # description                          ##
-#Legend ##
-# Constructors     # functions that construct SkIPoint16  ##
-# Member_Functions # static functions and member methods  ##
-# Operators        # operator overloading methods         ##
-#Table ##
-#Subtopic ##
-
 #Subtopic Constructors
-#Table
-#Legend
-# name  # description                    ##
-#Legend ##
-# Make  # constructs from integer inputs ##
-#Table ##
-#Subtopic ##
+#Populate
+##
 
 #Subtopic Operators
-#Table
-#Legend
-# name                                             # description                         ##
-#Legend ##
-# operator+(const SkIPoint& a, const SkIVector& b) # returns IPoint offset by IVector    ##
-# operator-()_const                                # reverses sign of IPoint             ##
-# operator-(const SkIPoint& a, const SkIPoint& b)  # returns IVector between IPoints     ##
-# operator!=(const SkIPoint& a, const SkIPoint& b) # returns true if IPoints are unequal ##
-# operator==(const SkIPoint& a, const SkIPoint& b) # returns true if IPoints are equal   ##
-# operator+=(const SkIVector& v)                   # adds IVector to IPoint              ##
-# operator-=(const SkIVector& v)                   # subtracts IVector from IPoint       ##
-#Table ##
-#Subtopic ##
+#Populate
+##
 
 #Subtopic Member_Functions
-#Table
-#Legend
-# name         # description                             ##
-#Legend ##
-# Make         # constructs from integer inputs          ##
-# equals()     # returns true if members are equal       ##
-# isZero       # returns true if both members equal zero ##
-# set()        # sets to integer input                   ##
-# x()          # returns fX                              ##
-# y()          # returns fY                              ##
-#Table ##
-#Subtopic ##
+#Populate
+##
 
-#Topic Overview ##
+#Subtopic Members
+#Populate
 
 #Member int32_t  fX
+#Line # x-axis value ##
 x-axis value used by IPoint.
 ##
 
 #Member int32_t  fY
+#Line # y-axis value ##
 y-axis value used by IPoint.
 ##
 
+#Subtopic Members ##
+
 # ------------------------------------------------------------------------------
 
 #Method static constexpr SkIPoint Make(int32_t x, int32_t y)