Indeed, that would be quite the large undertaking and not one we're going to look at for 1.3. Potentially in 1.4 we might look into the feasibility of a very basic templating system, which would allow us that separation between code and markup. The problem is finding/writing a simple enough system: using something like Smarty would be massive overkill from every perspective.
I do take issue with the idea that the code is "riddled with massive redundant code repetition" though, especially in the specific example referenced. When you change the name of core CSS classes, you need to change every place that class is used. The number of changes wouldn't be reduced by using a templating system, unless you're discussing breaking templates down to the level of having templates for individual elements of a page (like a form field). That would have a severe impact on code readability and increase the number of template files massively.