* Fix mip-map generation in unit-tests where the command buffer was not
submitted.
* Cleanup descriptor counts being always 1 in Vulkan code-gen.
* Reworked capabilities. Platforms can add to the base capability set.
* Vulkan backend picks between more available color and stencil formats.
* Descriptor pools are dynamically sized.
* Layout transitions are more explicit. Both allocated and swapchain images
track their own layouts and redundant transitions are avoided.
* Objects active in a pending command buffer are collected but the waits happen
on a separate fence waiter. Thread is named
"io.flutter.impeller.fence_waiter".
* Added queue and command buffer instant markers for better traces.
* Command pools and their buffers are now thread local. Fixes sync validation
failure.
* Debug reports are now more readable and command buffer and queue breadcrumbs
will be displayed on a validation report.
* Staging buffers are back.
* Pipeline caches have been wired up. After 50 frames, the current Vulkan
pipeline cache will be written out to disk for subsequent launches. Writes
will happen on a background worker.
* Runtime stages have been wired up. But the build rules to provide the right
stages are still remaining.
Fixes https://github.com/flutter/flutter/issues/121536
Fixes https://github.com/flutter/flutter/issues/121627
Fixes https://github.com/flutter/flutter/issues/121632
Fixes https://github.com/flutter/flutter/issues/120499