I definitely like the idea of using a flatten + uniq on STYLE_GROUPS here. Two notes

1) I think `smallcaps` is an option for the `variant` style (i.e. `variant 'smallcaps'`) and is not a style itself. But there are some styling things in the text world that elude me. Like `:size_modifier`, is that a style? 

2) `STYLE_GROUPS` is still a work in progress. I've sketched out a few styles, but I don't think I'll really have a good bead on how exactly to group everything until I've worked through a lot more elements. So I'll keep adding to these as I go.