Base class for formatting a Part of a Scope View.
This class contains functionality for modularly formatting an ASG node and
its children for display. It is typically used to construct Heading,
Summary and Detail formatters. Strategy objects are added according to
configuration, and this base class then checks which format methods each
strategy implements. For each ASG declaration visited, the Part asks all
Strategies which implement the appropriate format method to generate
output for that declaration. The final writing of the formatted html is
delegated to the write_section_start, write_section_end, and write_section_item
methods, which must be implemented in a subclass.