NOTE: This blocks T251212, which blocks simplifying a lot of the Vector code. On the long term it should save us problems by keeping the footer contract stable and consistent across all the skins we maintain.
The MobileFrontend and WhoIsWatching extensions make modifications to the footer. This is achieved via an incredible amount of indirection passing data between BaseTemplate and SkinTemplate as well as side effects from hooks. This makes it difficult to safely modify parts of the skin code that we need to refactor as part of desktop refresh. There's an opportunity to simplify all this code so it's safer to reason with.
= Acceptance criteria
[x] A new hook and method will be introduced to the Skin class that provides footer data and allows modifications. To begin with no skins will use this method to allow them to safely migrate without worrying about backwards compatiblity (https://gerrit.wikimedia.org/r/594811)
 MobileFrontend is updated to use the new hook (https://gerrit.wikimedia.org/r/594311)
= Sign off steps
[x] A patch exists for WhoIsWatching (used by 3rd parties) to use the new hook for generating its own footer.