Transitional extraction of templates

This commit is a squashed subset of #640, which begins the
process of extracting templates out of Prawn::Document and
into an extension. It's not complete, but it's functional
enough where I'd like to include it in release for
user testing. It accomplishes two main goals:

* Disables templates by default in Prawn

* Allows those who will use the future prawn-templates gem
to try it out as an extension by requiring "prawn/templates"

The way I extracted the code is not meant to be a permanent
solution. We will need to move away from a module-based monkey
patch to some sort of object-oriented solution, and we should
aim to cut down the duplication of code in the templates
extension. But this is something we can do later.

We also need to finish extracting the lower-level features
that templates depend upon, but that too can be done in
a future release. This patch is primarily about removing
the top-level use of the feature so that we can be sure
we didn't break anything critical in the process of doing so.