[vector-api] Multiple render geometry functions

This PR allows an `ol.layer.Vector` to have multiple `renderGeometryFunctions`.

It adds a `revision` property to `ol.Collection` to avoid having to listen on the `ol.Collection` of `renderGeometryFunction`'s events.