15/ Refactor flicker package

Flicker no longer contains only wm and sf traces and flicker subjects.

It now contains parsers, subjects, traces, flicker detection.

Since not everything belonged to WM packages, the old package structure was causing confusion. Moreover, it was not flexible enough to move part of the codebase to winscope

The new package structure is divider as follows:

android/tools
-- common -> compiles to JS and shared with winscope (build as flickerlib-common)
-- device -> android device dependent
---- apphelpers -> app helpers for flicker tests (build as flickerlib-apphelpers)
---- helpers -> helper utils for other projects, such as wmsmoketests (build as flickerlib-helpers)
---- traces -> parsers and monitors (build as flickerlib-parsers)
---- flicker -> flicker detection functionality

Also add JsExport annotation for KotlinJs and address errors to migrate to new IR compiler (other is deprecated). Limitations include:
- no support for inner exported classes
- name mangling
- JsExport annotation
- JsName when multiple constructors exist

Bug: 262369733
Test: atest FlickerLibTest
Change-Id: I3c94049cd4121ab91422e2a014db9f159693c29d
822 files changed