Decompose ChooserActivityTest for reuse.

Prepare build targets and set up design to share test suite
across different ChooserActivity subclasses. (This was
somewhat tricky because the tests need to use wrapped
activities for instrumentation; those activities need to
have the same inheritance relationship with ChooserActivity
as the chooser-under-test would normally have; and shared
test code needs to use a common type to refer to the
wrapped activities.)

Test: `atest ChooserActivityTest` (modulo standing flakes);
also tested a proof-of-concept unbundled version locally
(CL to follow).
Bug: 202166045

Change-Id: I8dc317ed9fac7195e525d62fdd386dcf11ef7dba
5 files changed