Convert NotificationContentInflater to singleton

Convert NotificationContentInflater into a singleton since it has
almost no state, making it easier to inject and re-use.

Move the only per-row state it has, cached remote views, to a separate
class NotifRemoteViewCacheImpl that manages the lifetime of the cached
remote views based off the notification's lifecycle. This has the added
benefit of being re-usable for content recycling later on.

Bug: 145749521
Test: atest SystemUITests
Test: atest NotificationContentInflaterTest w/o @Suppress locally
Test: smoke test (add, remove, cancel, expand, groups, HUN)
Change-Id: I7c05b19a0e12bced02bfdaa21e0243f35d64029f
13 files changed