Provide a template-engine based way of rendering pandas data objects
`to_string()`, `to_html()`, `to_latex()`, `formatters`, `float_format`, etc.

related #459
- The existing methods are not as flexible as users sometimes wish,
  see #167, #2502, https://github.com/pydata/pandas/pull/2919#issuecomment-14067605, #2942, #2924,#3195, #3196,#3264, #3467, #3197,#4578,#4315, [ml1](https://groups.google.com/forum/?fromgroups=#!topic/pydata/XL2AQd56Zf0)., #6052
- Pandas' core competence is it's data structures and data ops DSL.
  the output formats were added for convenience, but don't see much
  ongoing work (formatting tables isn't _sexy_).
- Users roll their own using custom code, there's no uniform way to do it
  in a way that naturally extends pandas.

Template engines [jinja2, mako] are the accepted way of converting data into documents,
and the web dev community has provided great libraries to do it. 
We should piggyback.

_This would be good_:
- Give users the power to scratch their own itch, avoiding the need for pandas devs 
  do it, or ignoring "fringe" use cases.
- Provides users with a readable baseline , which is easy to modify and adapt to their needs.
- Having a standard way to do it (by customizing a template), users can more easily
  have their output blend into python, and they can contribute / manage / source-control 
  document templates in a clean, self-contained way.
- Escape the "%d" not "{:d}" silliness and format strings in general, which is a relic of
  olden 2.5 support days. No more parameter hell necessary to make the existing methods 
  more expressive.  I never _ever_ want to format html tables using function arguments.
- Use a better way to express formatting logic via a DSL, rather then piecing together 
  python strings. 
- Unify the handling of textual representations, not different code, only different template files.
- Can refactor this out of core (but not really,  see below)
- Can provide features such as conditional formatting, styling.

_However_,
- Can't really remove existing methods.
- Adding a template engine dependency to pandas is clearly feature-creep (IMO).

_So_,
- Make it a standalone project out of core (or optional dependency?)
- Translate the existing styles into template form.
- Provide hooks in pandas to allow users to optionally install the
  library and use it for rendeing
- Let users know it's available for their use.
