Make `SelectionModelChildrenRequestedEventArgs.Children` an observable, so that the we can react to the children collection object changing, as well as the children inside the collection changing.
Upstream issue: https://github.com/microsoft/microsoft-ui-xaml/issues/2404
This requires that a `<Transitions>` element is used to contain the transitions in XAML and a `new Transitions()` is used when assigning transitions from code.
- Don't apply transitions before control is added to the visual tree
- Don't allow transitions on direct properties
- Ignore animated values when determining whether to trigger a transition
- Cancel transition when removed from `Transitions` collection
- Pass information for all property changes to `OnPropertyChangedCore`; whether they result in an effective value change or not
- Added `GetBaseValue` to get a value with a specified priority
- Change the signature of `OnPropertyChanged` again to take an `AvaloniaPropertyChangedEventArgs<T>`
- Renamed `MaxClientSize` to `MaxAutoSizeHint`
- On Windows get its value from `WM_GETMINMAXINFO` message
- Remove `ILayoutRoot.MaxClientSize` as it's not used any more
Top-level controls cannot have a `Bounds` offset, and their `(Min)/(Max)/Width` and `(Min)/(Max)/Height` reflects the client size of the actual window, so don't need to be applied at the layout level.
Fixes#3784
So that the event can be marked as handled if necessary. Mark the event as handled in `AutoCompleteBox`, `ComboBox` and `DatePicker`, but _not_ `ContextMenu`. Fixes#3760.