Added a bloom filter to CSS selector matching.

Every other browser engine uses a bloom filter to quickly reject `Descendant`
selectors. This adds that feature to servo, and it even works (mostly!) in
parallel!
But then I can't use `#deriving(Hash)` :(