Refactor specificity

Don't use a value, but compare the 3 values in a seperate class. And don't add the order to the specificity, only use it when the specificity is equal. This will prevent cases where the specificity is increased too much because many rules. This replaces #56

This is following the [spec](http://www.w3.org/TR/selectors/#specificity) better, so that 2,0,1 > 1,12,1 (vs 201 < 221, which is incorrect)

/cc @stof What do you think, something like this compare also for the CssSelector component?
I already thought about getting the specificity from the Symfony parser. I haven't yet tried how much refactoring it would involve in the library (it would not be doable when using ``CssSelector::toXPath`` static method as this one does not give you the parsed selector at all btw).

and bumping the dependency to 2.6+ would also be an issue, because it would make the library unusable in Symfony <2.6 projects. If we use the value, we would face the same bug when you have big selectors