Mutable symbolizer properties for style functions

This change adds setters for symbolizer properties. In addition, it introduces a mutable flag on all styles. By default, this is set to `true`. `ol.style.createStyleFunction()` sets it to `false` for all static styles.

The new setters assert that the mutable flag is `true`, so whenever an application tries to set a symbolizer property on a style that was assigned to a vector layer or feature overlay, the assertion will fail.
`ol.Feature`, `ol.layer.Vector` and `ol.FeatureOverlay` all have `setStyle()` and `dispatchChangeEvent()`. Suggestions for further clarification welcome.

And @elemoine, don't worry. You know that I am a friend of pragmatic, so excuse me if I find this discussion academic.