[Catalyst] Observe app-ops mode change efficiently

This improvement is to reduce the number of OnOpChangedListener
registered to AppOpsManager. By listening on `null` package, only one
single OnOpChangedListener is registered, and leverage KeyedObservable
to dispatch mode change for packages.

Bug: 420743110
Flag: EXEMPT new class
Test: atest&manual
Change-Id: Icc629e56337519156e3d3bc968e942568b7af7b5
4 files changed