----
Version History:
2.2 2006-03-15 Suppress IntelliJ Code Analyse that wants to make this default scope.
2.3 2008-02-15 complete rewrite, mainly to handle removing space around
and tags.
2.4 2008-02-15 add more tags that get trimmed. Charge $10
2.5 2008-02-28 tighter removal of whitespace surrounding comments.
2.6 2008-02-28 optionally allow comments to be stripped out
entirely. Preserve some space around configurable magic
macro comments that expand into text such as in a tag. < space will convert to < space.
2.8 2009-04-04 no longer correct missing entities. Just issue warning messages.
2.9 2010-01-18 refactor so you first allocate a Compactor object, permitting simultaneous compactings.
3.0 2010-02-12 trim space inside .. .
3.1 2010-12-21 avoid touching JavaScript and other scripts.
3.2 2010-12-24 handle |