[metal] Fix data race in commands scheduled sync The recently added commands scheduled sync object adds a callback to the command queue to be invoked when the scheduled handler for the committed command buffer runs. This callback could be called after the sync object is destoyed, so make sure it doesn't reference the original sync object, but only a thread-safe ref-counted state object. Bug: chromium:444702048 Change-Id: Ifaef54eae5dfdb0b6eb6b767120947e66a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7046662 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>