Add a ratio generator

It's an fmap over a pair of integers.

I didn't see any tests of the shrink functions. Do you have any suggestions/preferences for making sure my shrink doesn't do anything weird?