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!
You can implement a custom [`Hasher`](http://doc.rust-lang.org/std/hash/trait.Hasher.html). Then `Hash` would still work.