numerous cleanups, optimizations and minor fixes

I'm naming this "simmer on low" as it contains a slew of minor fixes, enhancements and optimizations I made while working on the haml and slim backends.

This pull request should get us prepared for 0.1.1.

Here's a summary of what was changed:

- 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

NOTE: This pull request is built on #181.