Assets management improvements

This PR focuses on improving assets management :

- An `AssetResolverInterface` is introduced, to allow asset manipulation from the `BaseHook` class without duplicating asset URL and path resolution code.
- No more `0` directory in the web assets directory, the template assets are now in `template-assets` (the origin of this `0` is an ugly story...). 
- The structure of the generated assets in the web directory is improved. 
- The "source" and "template" parameters of assets Smarty functions are now fully functional.
- Fixed various wrong assumptions that / is *always* the directory separator.