Expose hooks for implementing var().
The tricky part here is around CSS inheritance, it works naturally in the existing cascade implementation.
Resolve attr() functions.
It's defined during query, because that's when Stylish Haskell (or it's callers)
have easy access to the element being queried.
Add additional hooks for callers:
* Resolve relative URLs.
* Set priority on any stylesheet implementation.
* Substitute content during XML Conduit traversal in place of computed styles.
Rework psuedoelement infrastructure so they can be their own boxes.
Test/fix parsing of psuedoclasses/elements.
Add support for psuedoelements/classes.
Improve code cleanliness to avoid future bugs.
Data.CSS.Style.Selector.Index: fix potential crash.
Code cleanliness: Interpret Data.CSS.Style.Importance.splitProperties return value correctly.
Factorize out cascade logic.
Add method to override CSS inheritance.
Parse HTML 'style' attributes.
Fix parser freezes, blocking issue for Rhapsode.
Fix incorrect handling of invalid syntaxes.
Ignore invalid selectors.
Aid attribute sorting, fix install of internal modules.
Test/fix cascade logic for selector specificity.
Switch to new namespace for consistency with other modules like css-syntax.