Add hook for callers to run their own tests against attributes.
Expand :is/:where lowering.
Codestyle: remove unnecessary parens.
Move :root handling into interpretor.
Evaluate attribute namespace selectors.
Parse namespace selectors.
Rewrite trivial cases of :where & :is.
This is mostly for the psuedoselector rewrites performed in Data.CSS.Preprocessor.PsuedoClasses
Compute correct specificity for :is() & :not() pseudoclasses.
Implement :nth-child() & :nth-of-type().
I don't think I'll implement :nth-last-child() & :nth-last-of-type() until I'm shown their value,
Haskell Stylist doesn't yet have access to the data to support them.
Implement :is, :where, & :not functional pseudoclasses.
This is needed by some of the lowerings for other pseudoclasses.
TODO correctly compute specificity.
Prepare to interpret functional pseudoclasses.
Improve documentation, release version 1.2
Rework psuedoelement infrastructure so they can be their own boxes.
Add support for psuedoelements/classes.
Improve code cleanliness to avoid future bugs.
Data.CSS.Style.Selector.Index: fix potential crash.
Switch to new namespace for consistency with other modules like css-syntax.