Introduce BaseCommunalViewModel

This change introduces a BaseCommunalViewModel, which is an abstract
class with basic implementation for shared behavior across view models.

The content merging has been moved to the view model.

This changes sets it up so that there can be a different view model for
the edit mode.

Test: atest CommunalViewModelTest
Test: atest CommunalInteractorTest
Bug: 309968801
Flag: ACONFIG com.android.systemui.communal_hub DEVELOPMENT
Change-Id: I7076b98fdbfd8b786b7086c9a579ca8515c4347f
11 files changed