Snippets and improved substitutions

Implemented custom StrLookup to handle arbitrarily nested property
substitutions. Refactored Renderer to use lookup class for its own
internal property lookups. Added support for snippets. Added support for
basic conditionals. Added commons-io as a dependency for easier file
manipulation. Still a lot of cleanup & refactoring to do.
Standalone rendering & more tpl features

StaticRenderer allows offline batch rendering of templates and JSON data
into static HTML files. Added support for nested scoping for injections
and substitutions. Converted logging to Log4j. Added support for
placeholder content.