EWM functions fail with superclasses of pd.DataFrame
I've built a class that is a superclass of pd.DataFrame and I am trying to apply an exponential weighted mean along the columns, but I get a TypeError saying: ```TypeError: __init__() got an unexpected keyword argument 'index'```

Here is a minimal reproducible example.
```
import pandas as pd
import numpy as np

class Foo(pd.DataFrame):
    
    def __init__(self, df):
        super().__init__(df)

f = Foo(pd.DataFrame(np.random.randn(10,10)))

f.ewm(alpha=1/7).mean()
```

The full exception goes like this:
```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-39-223b6d63e220> in <module>
      6 f = Foo(pd.DataFrame(np.random.randn(10,10)))
      7 
----> 8 f.ewm(alpha=1/7).mean()

~\Anaconda3\lib\site-packages\pandas\core\window.py in mean(self, *args, **kwargs)
   2323         """
   2324         nv.validate_window_func('mean', args, kwargs)
-> 2325         return self._apply('ewma', **kwargs)
   2326 
   2327     @Substitution(name='ewm')

~\Anaconda3\lib\site-packages\pandas\core\window.py in _apply(self, func, **kwargs)
   2309             results.append(np.apply_along_axis(func, self.axis, values))
   2310 
-> 2311         return self._wrap_results(results, blocks, obj)
   2312 
   2313     @Substitution(name='ewm')

~\Anaconda3\lib\site-packages\pandas\core\window.py in _wrap_results(self, results, blocks, obj)
    262         for result, block in zip(results, blocks):
    263 
--> 264             result = self._wrap_result(result, block=block, obj=obj)
    265             if result.ndim == 1:
    266                 return result

~\Anaconda3\lib\site-packages\pandas\core\window.py in _wrap_result(self, result, block, obj)
    242                 return Series(result, index, name=obj.name)
    243 
--> 244             return type(obj)(result, index=index, columns=block.columns)
    245         return result
    246 

TypeError: __init__() got an unexpected keyword argument 'index'
```

#### Output of ``pd.show_versions()``
<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.24.2
pytest: None
pip: 19.3.1
setuptools: 41.4.0
Cython: None
numpy: 1.15.4
scipy: 1.3.1
pyarrow: None
xarray: None
IPython: 7.8.0
sphinx: 2.2.0
patsy: 0.5.1
dateutil: 2.8.0
pytz: 2019.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 3.1.1
openpyxl: None
xlrd: 1.2.0
xlwt: None
xlsxwriter: None
lxml.etree: 4.4.1
bs4: 4.8.1
html5lib: 1.0.1
sqlalchemy: 1.3.5
pymysql: 0.9.3
psycopg2: None
jinja2: 2.10.3
s3fs: 0.1.6
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
</details>


Any ideas?