GPU scheduler thread safety fixes

Two fixes:
1) Create a weak ptr on main thread before use to prevent data race on
   calling GetWeakPtr() from multiple threads.
2) Ensure sync token release callback is called on main thread so that
   the weak ptr is not dereferenced on another thread.  Sync tokens
   aren't released on any other thread today, but that might change with
   ChromeOS image decode accelerator work, and using WaitNonThreadSafe()
   will not post a task if on the same thread anyway.

Bug: 908669
Change-Id: I0bd9e0d56fe94c750513bc792e9e632bb83b30b9
Reviewed-on: https://chromium-review.googlesource.com/c/1352858
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612471}
2 files changed