perfetto: fix several problems with CTS

The problems:
1) Previously, we were creating a new thread with a producer on every
resume of the activity. As resumes do not necessarily correspond to
process death, we were ending up with n producers (where n is the number
of tests which ran before the activity test).
2) We were not cleaning up producers correctly and were instead relying
on process death. However, it's very possible that an activity gets
recreated without process death (as we have foreground services).
3) When we refactored CTS deps to not have to repeat tests, we
accidentally stopped running integration tests in CTS.

Solutions:
1) Setup "proper" producer lifecycle handling (this is still pretty
hacky but significantly better than it was before) by tying the
lifecycle of the producer to the lifecycle of the containing Java Android
owner.
2) Reintroduce the integration tests source set into the CTS tests.

Bug: 146984689
Change-Id: I2b0bed6f9f451057e93cb2d380962f6af0117efc
diff --git a/Android.bp b/Android.bp
index 5ed362b..a1f9332 100644
--- a/Android.bp
+++ b/Android.bp
@@ -772,6 +772,7 @@
     ":perfetto_src_tracing_common",
     ":perfetto_src_tracing_ipc",
     ":perfetto_src_tracing_tracing",
+    ":perfetto_test_end_to_end_integrationtests",
     ":perfetto_test_task_runner_thread",
     ":perfetto_test_task_runner_thread_delegates",
     ":perfetto_test_test_helper",