Preserve RemoteCarTaskViews on activity recreation

- Use a ViewModel to preserve task views on configuration change in
  CarLauncher.
- Use Window context instead of activity context while creating the
  controlled remote car task views.
- Use ViewModel.Factory for dependency injection.

Bug: 296957172

Test: m
Test: atest CarLauncherTests

Change-Id: Ide8bba0bd59c1033676145e263471fdeda855d70
2 files changed