Implement persistent repository.

Implement an initial version of persistent repository that has the
functionality to store the whole desktop state.

This cl also edits the existing DesktopModeTasksRepository to be
initilized using the persistent values. Also to persist adding a new
task, minimizing the task, removing the task.

Test: atest DesktopTasksControllerTest
Test: atest DesktopModeTaskRepositoryTest
Test: atest DesktopModePersistentRepositoryTest
Bug: 358031378
Flag: com.android.window.flags.enable_desktop_windowing_persistence

Change-Id: Icac92f2e13f5ac67996142b0f31121b70d129ddd
11 files changed