Reland "Graphite/Dawn: Always use asyncMap even for native"

What's changed: only use SingleOwner to protect fAsyncMapCallbacks.
The previous SingleOwner was used to protect the whole asyncMap and
mapCallback's scope. That would be violated if the mapCallback is
triggered after MapAsync call but before the asyncMap returns.

Original change's description:
> Graphite/Dawn: Always use asyncMap even for native
>
> Bug: b/422741977
> Change-Id: Ia16480df5ca276def6bd9969d43b6a697e5a4348
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1158578
> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: b/422741977
Change-Id: I500071bdf1c049a463f415c8c13f78336cb4c87a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1177616
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
4 files changed