ENH/CLN: add HistPlot class inheriting MPLPlot
Because `hist` and `boxplot` are separated from normal `plot`, there are some inconsistencies with these functions. Looks better to include them to `MPLPlot` framework.

Maybe `scatter` and `hist` can be deprecated in 0.15 if `MPLPlot` can offer better `GroupBy` plot (plan to do in separate PR).
### Example

This allows to use `kind='hist` in `DataFrame.plot` and `Series.plot`. (No changes for `DataFrame.hist`)

```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.randn(1000, 5))
df.plot(kind='hist', subplots=True)
```

![figure_1](https://cloud.githubusercontent.com/assets/1696302/3712412/16aa1896-1513-11e4-863d-e0b6d631c12f.png)

```
df.plot(kind='hist', stacked=True)
```

![figure_2](https://cloud.githubusercontent.com/assets/1696302/3712413/1bded702-1513-11e4-9ff3-3947783d5213.png)
### Remaining Items
- [x] Add a release note in API section detailing this change/enhancement
- [x] Modify doc
- [x] Add tests (both histogram and kde) 
  - [x] Add support for `rot` and `fontsize` (depending on `orientation` kw) (rely on #7844)
  - [x] Add tests for xticklabels and yticklabels
  - [x] Add tests for colors
  - [x] Handling nan
- [x] Check `stacked=True` can be supported (`DataFrame.hist` doesn't support it though..).
  - [x] Add tests for stacking

does this change anything? or is just an internal refactor?

what is more consistent?
 this independent of #7717 ?
 It looks like the main API change is that as of this PR you can make a histogram with `df.plot(kind='hist')`, as well as `df.hist()`. Seems like a win for consistency!
 @sinhrks also let's add a release note in API section detailing this change/enhancement
 Will do. Added example and remaining items on top.
 is `DataFrame.hist` now just a call to `df.plot(kind='hist')`?
 change the title on this as well (the PR), no longer a WIP, rigth?
 Going to leave `hist` as it is (maybe `hist` can be deprecate in future). There are some items should be done / considered. Once finished, I'll change the title.
 I think this can be reviewed (though `rot` and `fontsize` processing relies on #7844)
 so #7844  should be merged first? or does this include as well?
 Yes, #7844 should be first.
 this looked ok, @sinhrks can you rebase

@TomAugspurger have a look?
 OK, rebased.
 I just gave it a quick look (didn't test, computer was stolen!) and I think it looks good.

Only comment was maybe setting a random seed in the doc example, very minor.

Nice work! 

> On Aug 10, 2014, at 16:21, Sinhrks notifications@github.com wrote:
> 
> OK, rebased.
> 
> —
> Reply to this email directly or view it on GitHub.
 @sinhrks hmm, needs rebasing again, then ok to merge
 ping when pushed
 @jreback Rebased and got green.
 thanks!
