improve script for processing JBT user guide

- process entities refs
- better alt text support
- lowercase ids and substitute underscore with hyphen
- add TODO marker for stepalternatives; add icons: font to books
- support listitem figures in a listentry
- if there's no role for the <phrase>, just filter out the tags and leave the text
- handle stepalternatives using 'a.' bullets
- support Procedure names on procedures; clean up formatting of admonitionblocks; ask question about bullet depths (nested bullets)
use .adoc as AsciiDoc extension
code cleanup code, AsciiDoc output refinements, additional options

- add aliases for all node type constants
- pull regex up to constants
- map directory and filename elements to emphasis markup with role
- map gui* & keycap elements to UI macros
- add experimental attribute to document header
- make run-in admonition label an option
- smarter default for preserve_line_wrap
- move id normalization to a method, respect idprefix and idseparator
- use lazy quoting of alt attribute and other labels
- fix regular expressions for whitespace (don't need \t when using [[:blank:]])
- be smarter about cleaning up whitespace around paragraph text (still not perfect)
- fix anchor in bibliography list
- don't use empty brackets after implicit link
- use plus by default for inline literal instead of backtick
- cleanup main visit loop
- apply Ruby code formatting
update TODO