Closes https://github.com/flutter/flutter/issues/126009.
One major change, as-per @jonahwilliams's feedback, is that I created a helper class called `DlVertexPainter`, which provides a `DrawRect`-like API, but just builds a buffer of vertices, resulting into just a single:
```cc
// Actually draw.
canvas->DrawVertices(painter.IntoVertices(), DlBlendMode::kSrc, paint);
```
Also, added test for it, since there is no way to screenshot test to Impeller overlay yet.
# Impeller
