BUG: Repeated time-series plot causes memory leak
Closes #9003, Closes #9307. 
- Not to clutter plot functions outside of classes.
- Changed to use classmethods rather than closures for plot funcs. 
- Not cache plot function itself on `ax._plot_data`. Changed to store `str` indicates plot kind.
- Moved `tsplot` related codes to `tseries.plotting.py`.

Because the change is little big, I think it is better to wait until 0.17. Further simplification seems to be possible if we can remove `tsplot` as not public function.

CC: @qwhelan, @TomAugspurger 
