DataFrame doesn't define density
#### Code Sample, a copy-pastable example if possible

This is more of an open question whether this should be implemented or not. If a DataFrame has a SparseSeries inside of it shouldn't 'density' also be defined?

```python
df = pd.DataFrame({'a': pd.SparseSeries([1,0,0,1])})
df.a.density #=> 0.5
df.density #=> Throws error I would think this should be 0.5

sdf = pd.SparseDataFrame({'a': pd.SparseSeries([1,0,0,1])})
sdf.density #=> 0.5
sdf.a.density #=> 0.5
```
#### Problem description

Basically this is a consistency problem between SparseDataFrame and DataFrame. Since DataFrame's can contain SparseSeries it should probably define 'density' as well.

#### Expected Output

I would expect a DataFrame to have density defined. If it is dense it would just be 1.0.

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.1.final.0
python-bits: 64
OS: Linux
OS-release: 4.13.16-202.fc26.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.20.3
pytest: 3.3.1
pip: 9.0.1
setuptools: 28.8.0
Cython: 0.27.3
numpy: 1.13.1
scipy: 0.19.1
xarray: 0.10.0
IPython: 6.1.0
sphinx: 1.6.5
patsy: None
dateutil: 2.6.1
pytz: 2017.2
blosc: 1.5.1
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.4
feather: 0.4.0
matplotlib: 2.0.2
openpyxl: 2.4.9
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.2
lxml: 4.1.1
bs4: 4.6.0
html5lib: 1.0b10
sqlalchemy: 1.1.15
pymysql: 0.7.11.None
psycopg2: None
jinja2: 2.9.6
s3fs: 0.1.2
pandas_gbq: None
pandas_datareader: None

</details>
