The main problem with the existing logic was that it
did not update the extents of relations when previously incomplete members were loaded.
It was also overly stateful; the various queues and flags
are no longer required.
Fixes#1928.
Fixes#1540.
We can't rely on identity equality here due to how
restoring works, and don't want to anyway -- the summary
should ignore net-no-op tag changes.
Fixes#1915.
For fills and shadows, style changes can happen only when
a new version of the feature is produced. If we include a
version number in the key, we need only call TagClasses on
the enter selection.
We cannot apply the same optimization for strokes, since
stroke style can depend on the tags of parent relations
as well.