Eliminate Visualizer overhead

This is a major performance improvement when dealing with a large amount of entities. Such as in the recently added [Custom DataSource](http://localhost:8080/Apps/Sandcastle/gallery/Custom%20DataSource.html) example.

1. Eliminated the overhead of non-Geometry visualizers during `DataSourceDisplay.update`.
2. `EntityCollection` and `CompositeEntityCollection` now include the array of modified entities as the last parameter to their `onCollectionChanged` event.
3. Fixed a bug in `Event` that would cause a crash if an event handler unsubscribed to the event in its callback.
4. Minor performance tweak to `AssociativeArray.set`
5. ran `sortRequires`
I guess another question is what does `AssociativeArray` buy us here?  `remove` is `O(n)` anyway, and I don't see any place where we actually look up anything by `id`.