numerous cleanups, optimizations and minor fixes

- optimize erb templates by moving hot spots into methods
- add support for content-only templates via a symbol
- add @ where missing in erb templates
- auto-select backend sub-folder containing custom templates
- isolate template engine options into a Hash
- load helpers.rb script if present in template directory
- manually load slim if extension is detected in list of custom templates
- parse attributes in link macro
- add support for the page break macro
- add ftp support to link macro
- move double quoted text regex to constant
- support em dash at the end of a line
- optimize the attr and attr? methods
- add convenience methods to Document
- support literal and listing paragraphs
- fix docs for safe mode flags
- update man page
- more tests