ENH: passing colors (and other optional keyword arguments) to violinplot()

I'm really glad that matplotlib now has a `violinplot()` function, but I find the current implementation a bit annoying to customize, since the only way to change the colors, alpha values etc. is to modify each artist after creating the plot. One would ideally want to be able to pass in any arbitrary keyword arguments for the `PolyCollection` and `LineCollection` artists in each individual 'violin', but there's a trade-off between flexibility and simplicity.

I think a reasonable compromise is to have the option to specify individual fill colors for each violin (like the `color` kwarg for `hist()`), but to have only a single dict for all the other optional kwargs for the fills and lines. For the time being I've stuck to the default colors/alpha values in the original implementation, but it might make more sense to leave these defaults unspecified so that they can be set according to `rcParams`.
If it needs to have rcparams added, then add rcparams.  On one hand
rcparams is growing or of control, but if we want to make the defaults
configurable there is no way around the size.

I would argue for changing the api else where than emulating it here.

In principle the user should be able to pass in lists to cycle all of the
artist properties, not just the color.

If it is just collecting kwargs, then you need to document it as such.

Changing default colors is an api break, please don't do it.