Create new startable to handle initializing the app widget host

The new startable listens to when either communal is available or edit
mode is showing, and calls startListening/stopListening on the app widget host.
This delegates the responsibility to a standalone class, removing it
from the communal interactor.

This change also does some cleanup with the existing logic.

Fixes: 322162878
Test: atest CommunalWidgetRepositoryImplTest
Test: atest CommunalAppWidgetHostStartableTest
Flag: ACONFIG com.android.systemui.communal_hub STAGING
Change-Id: I75d4e9e0066f443d965f05b01c11744a4659c4b4
14 files changed