rolling_apply forces output type to be numerical
#### Code Sample, a copy-pastable example if possible

```python
pd.Series([1, 2, 3, 4]).rolling(2).apply(lambda n: str(n))
```
#### Problem description
When using `rolling(x),apply(func)`, an error is thrown if the return value of `func`  is non-numeric. Is this necessary? There are valid cases for a rolling apply function returning a string value.

#### Expected Output
```
0    1
1    2
2    3
3    4
dtype: object
```

#### Output of ``pd.show_versions()``
<details>

```
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Linux

pandas: 0.24.2
```

</details>
