+ ******************************************************************************
+ * C-Interface *
+ ******************************************************************************
+ * - setTemplateValueInt
+ * setTemplateValueString
+ * setTemplateValueTime
+ * setTemplateValueBool
+ * setTemplateValueDouble
+ * setTemplateValueUndefined
+ * Sets varibale's value
+ * - addTemplateRow
+ * Add one iteration to the pointed loop. Local variable in loop should
+ * pointed with predecence loop's mark(s) separated by dot. Example:
+ * HTML:
+ * <@Loop outerLoop@>
+ * <% var1 %>
+ * <@Loop innerLoop@>
+ * <% var2 %>
+ * <@endloop@>
+ * <@endloop@>
+ * C:
+ * addTemplateRow("outerLoop");
+ * setTemplateValueBool("outerLoop.var1");
+ * addTemplateRow("innerLoop");
+ * setTemplateValueBool("outerLoop.innerLoop.var2");
+ * - addTemplateNestedLoop
+ * returnTemplateNestedLoop
+ * Manage self-nested loops ( ie tree-like structures ).
+ * Loop's template should contains one <@ SELF @> pointer.
+ *
+ * Examplaes of usage are in data/template.html used for test.
+ *
+ ******************************************************************************
+ * Memory management *
+ ******************************************************************************
+ * Unfortunatly, I'm too lazy to unify memory usage by several pieces
+ * in library. So, library uses mixed plain malloc and memory context
+ * concepts (tmalloc.h).
+ * To work with library it's needed to allocate persistent memory context
+ * for initTemplate().
+ * To work with template it's needed to get template's instance by
+ * newTemplateInstance() call with separated memory context. In any time
+ * that memory context can be reseted or freeed and it will be enough
+ * to free template's instance.
+ *