Also, it just crossed my mind that the values produced by `FeatureHasher` are "signed frequencies", where the sign is pseudo-random. Should we handle that as well? (The `non_negative` option on `FeatureHasher` can take care of it, but destroys the built-in centering of the hashing trick.)