core: prefix zotonic fork of erlydtl files with z.
core: add new template engine

The new ztl template engine uses the standard ErlyDTL project,
and extends it with customizations using the new extension mechanism
to get all the zotonic specific features; making it a drop-in
replacement for the current ErlyDTL fork maintained by zotonic
(once all the custom extensions has been implemented).
core: getting ztl into shape..
ztl: Pass zotonic context to the template engine
ztl: support custom tags (scomps)
ztl: support custom tag rendering options (all).
ztl: support print tag.

Now ztl:compile also takes care of providing proper compile options to ErlyDTL
to use the ztl extensions.
ztl: render builtin tags using z_scomp

By going through z_scomp for builtin tags as well as custom tags,
we don't have to create new template keywords and custom compile_ast
extensions for them, but can rely on the custom tag feature of erlydtl.
ztl: pass in copy of render variables with render options.

Since the RenderOptions is the only place to put them that is generic
enough to not introduce new stuff in stock ErlyDTL.
ztl: add tests for image and image_url tags.
ztl: move url tag to new ztl_tags list of builtins.

As a consequence, url is no longer a keyword, as the url tag is
now rendered using the same custom tag hook as scomps and the other
builtins.

The only exception being the print tag that is still treated specially.
ztl: move print tag to builtins.

No need for having special treatment of builtin scomp tags..
The only tags still left that will need special treatment are block level tags,
i.e. those that have begin and end tags, with text in between.
ztl: add variable based indexing.
ztl: support for tuple values and value lists.

Re-introduced the print tag as keyword in the scanner/parser.
This was needed since it is special from other tags in that it
takes a single expression as argument. I failed to merge this
in a backwards compatible way with the existing CustomTag rule.
ztl: fix re-introduced print tag, failed to compile templates using it.
Add another test for variable based indexing.
ztl: first steps towards implementing the trans tag.

Added Makefile in src/ztl for rebuilding ztl_scanner.erl from ztl_scanner.slex.
Note: you need to have slex (github.com/erlydtl/slex) on your ERL_LIBS path.
ztl: trans tag test en -> sv pass.
ztl: support {% _ "Text" nl="Tekst" %}.

Todo: add translations from z_trans_server too.. ?
ztl: make {% _ ... %} compile to {_ ... _} equiv. with additional translations from the tag.