SF: Introduce LayerTraceGenerator

Generates layer traces from transaction traces. The tool is a custom
surface flinger build that mocks out most everything else apart from
the front end logic. Transaction traces are written when the
transaction is applied, along with a timestamp and vsync id. The
transactions are parsed from proto, and applied to recreate the
layer state and output the result into a layer trace.

Test: presubmit
Bug: 200284593

Change-Id: If90a23b9310dbafbdca597b7f5178e40c8b86022
8 files changed