@pcwalton There is still a clone of the unique vector in `CompoundSelector` when we do `selector.clone()`
Ideally, we would want to make `StyleRule` have `Arc<Selector>` or something so that we don't have to do the allocation. Or make `Rule` somehow refer to the Selector in `StyleRule` (maybe using `RawPtr` or something)

I guess the main reason we would want Rule to refer to the StyleRule would be to support dynamic style, but I am not sure how this would work.