When we introduce a SkinMustache class ideally it would subclass Skin rather than SkinTemplate but to make its introduction easier we made it extend SkinTemplate. After seeing how this class has grown, the class inheritance is correct but SkinTemplate carries a lot of QuickTemplate specific code that should be factored out.
# Acceptance criteria
[x] Skin::getFooterLinks is promoted from SkinTemplate.php to Skin.php. The hook SkinAddFooterLinks is not impacted by this move as it already uses the skin and currently only lives in that class for compatibility reasons.
[x] All SkinMustache data functions are promoted up to SkinTemplate
[] A new class SkinBaseTemplate has been added, and use of SkinTemplate is soft deprecated (too many skins use it to hard deprecate)
- [] All BaseTemplate specific calls e.g. `$tpl->set` have been abstracted away to the QuickTemplate class
-- [] A QuickTemplate::load method is added to allow passing of data in the form of an array, to the set methods in QuickTemplate
-- [] SkinTemplate::getTemplateData and SkinTemplate::getLegacyTemplateData are defined
-- [] The data inside SkinTemplate::getLegacyTemplateData goes through the deprecation process
-- [] SkinTemplate::getLegacyTemplateData is deprecated and removed.
- [] SkinMustache methods are promoted to SkinTemplate: getFooterTemplateData, getLogoData, buildSearchProps, getPortletsTemplateData, getPortletData, getPortletLabel
- [] SkinMustache::tailElement is generalized and moved to OutputPage T257704