Store VkPipelineCache objects in PipelineCache

Implement PipelineCache, a new file-backed store for VkPipelineCache
objects. Migrate VkPipelineCache objects away from ShaderCache and store
them in PipelineCache instead.

Bug: 269117286
Flag: com.android.graphics.hwui.flags.separate_pipeline_cache
Test: adb root && adb shell aflags enable com.android.graphics.hwui.flags.separate_pipeline_cache && adb reboot
Test: atest hwui_unit_tests -- --test-arg com.android.tradefed.testtype.GTest:native-test-flag:"--renderer=skiavk"
Test: boot to home, run settings app
Test: adb logcat | rg HWUI -C 10
Test: adb shell perfetto --time 10s --out /tmp/perfetto.trace view
Change-Id: Icc2fc14d4220a34269e5999491b64662a16ef3fd
13 files changed