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: * file upstream issue for Prawn to warn if it can't resolve a glpyh (or monkeypatch it)
  * support web fonts; use uri-cache to avoid redundant fetching
  * align caption to match alignment of block image
  * allow pdf-page-layout (portrait || landscape) to be set in document
  * allow pdf-page-margin to be set in document
  * attribute or role to control table shading (all, even, odd) (or call it striped like bootstrap?)
  * make conum glyphs configurable in theme (use reference table to resolve)
  * do we still need the converter hack in convert_content_for_block? (seems to be needed for admonitions)
  * avoid getting an empty last page (example: colist at bottom of page can cause this)
  * utility to coerce the color value transparent to nil (better handling in general)
  * CJK and/or multilingual support
  * description list term should keep together with content (file issue)
  
negative.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
    - partially addressed by vw units
  * 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)
  