Intent Playground sample application

The app allows a user to explore the behaviour of different
launch modes, task affinities and intent flags.

It displays the current state of all tasks in the application
and their corresponding flags.

It allows the user to launch a set amount of activities on launch.
This bring the user directly into a state where many options for
exploration are available, rather than having to go through a
complicated setup first.

Access the activity field of RecentTaskInfo using reflection and mirror
the ActivityInstanceInfo into our own value object. This breaks
the compile time dependency on the ActivityInstanceInfo api and turns
it into a runtime dependency.

If the api is missing on the device we can still show the task structure
and log an error with the missing activity instance info.

Known bug: The enable suggestion button crashes the application.
Test: Build and Run

Change-Id: Id0274bae159c16aee6dccd805deb53851ffcf21d
69 files changed