BUG: fix timedelta floordiv with scalar float
Discovered while trying to fix test failures in https://github.com/pandas-dev/pandas/pull/40482. Currently normal division with a float scalar works, but floordiv doesn't (returns garbage):

```
In [42]: arr = pd.timedelta_range(0, periods=3)

In [43]: pd.Series(arr) / 2.0
Out[43]: 
0   0 days 00:00:00
1   0 days 12:00:00
2   1 days 00:00:00
dtype: timedelta64[ns]

In [44]: pd.Series(arr) // 2.0
Out[44]: 
0                 0 days 00:00:00
1   55681 days 08:53:22.404319232
2   55733 days 11:53:22.031689728
dtype: timedelta64[ns]

In [45]: pd.__version__
Out[45]: '1.3.3'
```

It's only the scalar case; dividing with eg float array already works:

```
In [46]: pd.Series(arr) // np.array([2.0]*3)
Out[46]: 
0   0 days 00:00:00
1   0 days 12:00:00
2   1 days 00:00:00
dtype: timedelta64[ns]
```

I suppose the current code uses the workaround of `asi8` and casting back to timedelta, because numpy didn't support floordiv in the past (didn't check which version started to implement this, will see what CI says)

- [ ] whatsnew entry
