[WIP] Smarty as a dedicated Module

I extract Smarty from Thelia's core so Smarty is now a dedicated Module.

# Purpose

This PR  allows other developers to integrate the template engine they want.

# Changelog

- Smarty is now a dedicated Module and no more present in the core of Thelia
- All the template logic works now with abstracted class or interface, so it is possible to create a new Module for an other template engine
- A new interface has been introduced, the ParserHelperInterface : its purpose is to parse a string and get all parser's function and block with theirs arguments.
- A new service has been introduced : thelia.parser.helper and it must be the implementation of ParserHelperInterface
- If you want to create a new Template module, you must declare those services :
    - thelia.parser : the class that implements ParserInterface
    - thelia.parser.helper : the class that implements ParserHelperInterface
    - thelia.parser.asset.resolver : the class that implements AssetResolverInterface

# Todo

- ~~remove smarty from composer.json file~~
- ~~create a composer file in TheliaSmarty module~~
- ~~remove all occurences of Smarty in Thelia's core commentaries~~

# Warning

This PR **may** break BC if Smarty is used instead of ```thelia.parser``` service