vector layer: calculate extents lazily (fixes #9510)