ENH: DataFrame.sample should accept numpy.random.Generator
This seems to be related to this [issue](https://github.com/pandas-dev/pandas/issues/28440) and this [merge](https://github.com/pandas-dev/pandas/pull/42243). But currently DataFrame.sample does not allow Generator objects for random_state. 

## Rationale
As far as I can tell, the convention for numpy 1.21 random sampling, in their [documentation](https://numpy.org/doc/stable/reference/random/index.html) is to create Generators using numpy.random.default_rng, so creating BitGenerators directly seems a little awkward. 

## Fix
This is a quick fix though because the generator has [field](https://numpy.org/doc/stable/reference/random/generated/numpy.random.Generator.bit_generator.html#numpy.random.Generator.bit_generator) to access the bit generator

`from numpy.random import default_rng`
`rng = default_rng()`
`bit_generator = rng.bit_generator`