port most SkAtomic<T> to std::atomic<T>

The only SkAtomic<T> left are the ones overriding the default memory
order in SkPath.  I think I'd like to try switching them to std::atomic
too, but in another CL.

Trim unused APIs in SkAtomics.h.

Change-Id: Ia1c283355902ccb8fcdad70cdf27bb577e8ca407
Reviewed-on: https://skia-review.googlesource.com/146529
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/include/core/SkTextBlob.h b/include/core/SkTextBlob.h
index 9253780..b88b514 100644
--- a/include/core/SkTextBlob.h
+++ b/include/core/SkTextBlob.h
@@ -9,10 +9,10 @@
 #define SkTextBlob_DEFINED
 
 #include "../private/SkTemplates.h"
-#include "../private/SkAtomics.h"
 #include "SkPaint.h"
 #include "SkString.h"
 #include "SkRefCnt.h"
+#include <atomic>
 
 struct SkSerialProcs;
 struct SkDeserialProcs;
@@ -84,9 +84,9 @@
     friend class SkTextBlobPriv;
     friend class SkTextBlobRunIterator;
 
-    const SkRect               fBounds;
-    const uint32_t             fUniqueID;
-    mutable SkAtomic<uint32_t> fCacheID;
+    const SkRect                  fBounds;
+    const uint32_t                fUniqueID;
+    mutable std::atomic<uint32_t> fCacheID;
 
     SkDEBUGCODE(size_t fStorageSize;)