PERF: SparseDataFrame._init_dict uses intermediary dict, not DataFrame
 - [X] closes https://github.com/pandas-dev/pandas/issues/16773
 - [x] tests added / passed
 - [X] passes ``git diff upstream/master --name-only -- '*.py' | flake8 --diff`` (On Windows, ``git diff upstream/master -u -- "*.py" | flake8 --diff`` might work as an alternative.)
 - [x] whatsnew entry
