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`.
@tacaswell I was aiming for consistency with the docstring for `plt.subplots()`: https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/pyplot.py#L1000
My feeling is that it's clear enough how to pass `fill_kw` based on the call signature given above. Besides, what should I call it if I can't call it a dict?