Add tool annotating CFG with simpleperf data

perf2cfg annotates a CFG file with profiling information from simpleperf
data files. The tool outputs an annotated CFG file with the following
added information:
- Methods are annotated with their contribution relative to the total
profile.
- Basic blocks and assembly instructions are annotated with their
contribution relative to the method profile.
- Basic blocks are colored according to their contribution to the method
profile.

The tool does not modify any input file and, assuming c1visualizer can
parse the input CFG file, the annotated CFG file can be opened in
c1visualizer. While the tool does not thoroughly validate the input CFG
file, some checks ensure the input files have all been generated for the
same architecture.

Test: atest --host perf2cfg_test
Test: mypy --strict perf2cfg.py
Test: pylint perf2cfg perf2cfg.py
Change-Id: I86481c412bda56622cc91c0060a513c99f9fb11f
19 files changed