Add JankData Processing Logic

This change adds the frame attribution and accounting logic. We will
receive batches of JankData which are previously rendered frames that
will have a jank determination associated with it. At a high level the
determinations indicate whether that particular frame was janky or not.

The changes added here will take those determinations and associate them
to widget states. Each widget state has a vsyncid start and end value
indicating the timeframe for which the state was active. Each frame in
the batch will be processed by looking at its associated vsyncid and
determining which states were active for that particular frame.

A running count of each state and how many frames were rendered
while that state was active will be maintained. After ten batches have
been processed the states and frame counts will be reported to the
platform.

Bug: 369679146
Test: atest CoreAppJankTestCases:JankDataProcessorTest
Flag: android.app.jank.detailed_app_jank_metrics_api

Change-Id: I7be13039cbad1b533f4439c3761957411e3dbb10
3 files changed