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!
I heard on IRC that chrome just uses a 4 kb 8-bit count bloom filter no matter what. I think that's what leads to the picture [here](http://stevesouders.com/images/css-selectors-IE7-colorB-459x330.jpg) from [this blog](http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/)