Large refactor using maps, better extends

Most of this is a straight refactor, generated output is the same however there are a few additional extends and surgical classes.
I think using the class directly on an element is rare but is favorable as compared to creating a new class only to extend these styles (that would be far too complicated).

I can give you an explination of extends but I'd recommend looking them up too, perhaps at http://learn.shayhowe.com/advanced-html-css/preprocessors/#scss-sass. ;)