QSDetailedView: Create ScreenRecordPermissionViewBinder

Create the new view binder class that is associated with
ScreenRecordPermissionDialogDelegate. This view binder inherits
BaseMediaProjectionPermissionViewBinder, with some customizations that
are specific to screen record (more customization will be added in later
CLs).

In order for BaseMediaProjectionPermissionDialogDelegate to use this new
view binder, this CL also creates a new function called
createViewBinder() that allows child class to specify a different view
binder to use.

This CL follows the design mentioned in
go/al-screen-record-detailed-view.

Bug: b/378514312
Flag: NONE refactor
Test: ScreenRecordPermissionDialogDelegateTest
Test: Click on screen record tile in the QS -> verify that screen
recording in single app and entire screen both works

Change-Id: I88be4dbdc56bc188c5dbb392633e51b2dbea20ca
4 files changed