Generalize over templating libraries. #38

Basically, after this change it's possible to provide support for
any template system out there that supports such interface as
`substitute :: t -> Text -> Text`, where `t` may be anything, first
`Text` is incoming data and second `Text` is the outcome of
substitutions.

Default template system implementation for [HStringTemplate][0] library
is provided in C.B.Templates.HStringTemplate module

 [0]: http://hackage.haskell.org/package/HStringTemplate