Release

I had a major refactoring brain flash, so I've changed things around
quite a bit. I'm still using the same 2 base mixins, but the args have
changed slightly.

I also simplified the logic routing and broke the conversions out into
separate functions.

The biggest difference is that adaptive is now set by setting the column
widths param to null and now all unit types can be applied to either all
the columns the same or any number of columns sequentially. Whether or
not to apply to all or sequentially is automatically determined by the
number of widths entered in.