anchor.diff:  == Potential Optimizations
   
   * if autofit is set on a listing/literal block that has conums, we are splitting fragments by line twice
  +* comparing > 0 is slightly faster than == 0 (for cases when we can swap the logic)
   
   == Usage Optimizations
   
  
positive.code: * apply calculated theme values after loading?
  * allow "content" in place of recto_content & verso_content for running header/footer
  * allow image to span width of page (role=canvas, role=canvas-x or role=canvas-y); if role is canvas or canvas-y, then it does not consume height
  * allow valign value to be a number (requires change to Prawn)
  * layout SVG without using keep_together (since we know all the dimensions)
    - fix SVG to a single page (check height + caption height)
  
negative.code: * swallowing exceptions! (any use of e.message in a string is dangerous)
  * allow ordered list marker to be prefixed by section number (a global setting?)
  * conum not aligned vertically with callout text (perhaps too small?)
  * conum should never wrap (push it into the text if necessary)
  * decouple theme settings for section titles and discrete headings
  * table should expand to 100% if "spread" role is set
  * replace explicit char ranges with classes in regexp (e.g., [[:word:]] or \w)
  