I'm refactoring MonoBook, starting with MonoBookTemplate. The current change gets rid of the entire immediate print/html soup approach and instead assembles a giant string and prints that in one statement at the end. See: https://gerrit.wikimedia.org/r/#/c/420154/ and https://gerrit.wikimedia.org/r/#/c/420161/
Pending reviews and assurances that I have indeed not totally broken everything, we'll probably be merging this in the next week or so. If anyone would like to point out particular reasons why this is a terrible idea, please do so now.
Future plans include putting that ridiculous getPortlet into core BaseTemplate, making a less dumb BaseTemplate::getFooter without breaking anything already using it so MonoBook can lose its silly replication thereof, organising all the files in MonoBook better (putting them in resources, includes, etc according to standard skin practices), and making MonoBook responsive.
There are also some problems that need addressing down the road: that I'm not sure how safe it is for caching and the like to just go moving images/css files around willy-nilly, that there are no 'standard' skin practices as far as anyone can tell, and that some people seem to think MonoBook is bad and not worth this. But MonoBook is not bad. It is a delightful skin. We should preserve it, and not just in formaldehyde.
-I