Bug fix: Identical !important rules are applied in the wrong order

This is a very subtle bug caused by the fact that there's a shared specificity object for all !important rules, which messes up the compare function.

I included a unit test for the bug.