Implement dispatching parser of CSS properties.
Abstract away RuleStore construction.
Implement simple facade over the rule stores.
This will later be extended to support cascade and dispatching.
Handle !important CSS declarations.
Compose together rule stores.
Expose common interface above all selector passes.
Compute selector specificity.
Reorganize modules to make space for styling passes not related to selectors.
Document plans for supporting pseudo-classes/elements.
Unit test the selector compiler.
Implement interpretor support exists and locale attribute tests.
Implement CSS selector interpretor.
Compile 'complex' selectors (ones with multiple tests but no tree traversal).
I'm currently using a temporary datastructure which will be easily
replaced with curried functions later.
Unit test the style index.
Lookup possible styles from the index.
Index style rules to quickly narrow down which ones match a given element.
Improve parsing API.
Now compound selectors have their own type, aiding indexing and maybe interpretation.
Now only one selector is associated with outputted style rule.
Add some resiliancy checks.
Add and pass some unit tests.