TODO

 - Allow flattened thing in argspc: @attr, @tokenpos
   This should allow us to set up start tag handlers that
   are compatible with XML parser.
 - When collecting to an array we should be able to get
   things appened directly instead of beeing wrapped in
   a subarray.
 - remove 255 char limit on literal argspec strings
 - implement backslash escapes in literal argspec string
 - report 'line'
 - <![%app1;[...]]> (parameter entities)
 - $p->ignore_element("script", "style");
 - $p->ignore_tag("font", "big", "small");
 - limit the length of markup elements that never end.   Perhaps by
   configurable limits on the length that markup can have and still
   be recongnized.
 - pic attribute (">" or "?>" are defaults)  useful where you want to
   have "?>" as pic, but don't want the rest of xml_mode. For instance
   to parse PHP files.


SGML FEATURES WE WILL PROBABLY IGNORE FOREVER
 - Empty tags: <> </>  (repeat previous start tag)
 - <foo<bar>  (same as <foo><bar>)
 - NET tags <name/.../
 

POSSIBLE OPTIMIZATIONS
 - none that I can think of right now
 - run the profiler


MINOR "BUGS" (alias FEATURES)
 - no way to clear "boolean_attribute_value".
 - <plaintext> ends with </plaintext> and can't be escaped.
 - <style> and <script> do not end with the first "</".
