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.
Implement basic parser. TODO test.
Model the tree being matched, to be converted from XML conduit.