ENH: Having rolling accepts pd.IntervalIndex on a sorted datetime column
#### Describe the solution you'd like

It is currently possible to define custom window rolling as explained in [documentation](https://pandas.pydata.org/pandas-docs/stable/user_guide/window.html#custom-window-rolling).

It is required to subclass `BaseIndexer` and define ones' own `get_window_bounds`.

In case windows' bounds are defined by timestamps, pandas already provide a nice API to define them as `pd.IntervalIndex`.

Requested feature is to have rolling accepting `pd.IntervalIndex` in `window` parameter, that would be used in combination with `on` parameter to define the datetime-like column (already the case apparently)

#### API breaking implications

`window` parameter accepts `pd.IntervalIndex`

#### Additional context

This operation could be managed by use of `pd.IntervalIndex` and `pd.cut` but this combination does not take advantage that:
- intervals are sorted and non overlapping
- datetime-like column is sorted
which allows then to go through the DataFrame only once, managing each intervals one after the other.

I think that rolling naturally does.