Improve view rendering pipeline

- Add 'layout' to view context to allow it to be overridden during rendering.
- Use 'data' from context while rendering and unbox first level before passing it to the template layer.
Fix - Do not unregister the loader
Try to find the template file type using a '.*' pattern if no type is specified in the identifier.
Refactor template override handling

- Add module template locator
- Move view template overrides to [theme_path]/templates/views/...
- Move module template overrides to [theme_path]/templates/modules/...
View template identifiers should not include 'view'. View folder is added through specific locator.
Simplify editor configuration handling. Rename 'settings' to 'options' for consistency.
Refactor TemplateLocator

- Remove TemplateLocator::load() method.
- Add support to identifier locator for file type's. If no file type is specific the locator will try to find a file that matches /.../file.format.*
- Allow to pass locator config options when registering a locator
Refactor TemplateEngine

- Add caching support through TemplateEngineInterface::cache() and isCached() methods. Related config options 'cache', 'cache_path' and 'cache_reload'.
- Pass the template object as a reference to the template engine.
- Allow to pass engine config options when registering an engine.
- Rename TemplateEngineFactory::getEngines() to getFileTypes()
- Add TemplateEngineMarkdown
- Add TemplateEngineTwig
- Add TemplateFilterMarkdown to handle inline rendering of markdown blocks.
Rename TemplateAdapter to Template.