Allow styles to override feature geometries

With this change, application developers are able to define styles that
render a different geometry than the feature geometry. This can e.g. be
used to render an interior point of a polygon instead of the polygon, or
to render symbols like arrows along lines.
Oh I was meaning that `feature.get(geometry)` could return any type (assuming `geometry` is a user provided property name and the value could be anything.  If the compiler were more strict about this, we'd want an assertion in there that the return was `ol.geom.Geometry` (instead of anything else that is possible to store in a feature).

Sorry for the confusion.  I know you've already pushed https://github.com/ahocevar/ol3/commit/af30b88413b0c11b54fee54e53446bace3216cbc - but I think it isn't necessary.