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`.
I am not sure we want to check the length, this will prevent passing in things like `intertools.cycle(['r', 'g', 'b'])`.  

I also think that there are tools in cookbook that do this with all of the bells and whistles/corner cases covered.