Reland "New GIF codec; new third_party/wuffs dep"

This reverts commit 7d1c9ec49f8a846cef833a0f956cf9c91a298145.

Bug: skia:8235
Change-Id: I830ba00a87e85c80f7e8583f5dfa105cd60029b2
Reviewed-on: https://skia-review.googlesource.com/c/165301
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 02ec898..6125553 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -32,6 +32,7 @@
   skia_use_lua = is_skia_dev_build && !is_ios
   skia_use_opencl = false
   skia_use_piex = !is_win
+  skia_use_wuffs = false
   skia_use_zlib = true
   skia_use_metal = false
   skia_use_libheif = is_skia_dev_build
@@ -802,6 +803,18 @@
   ]
 }
 
+optional("wuffs") {
+  enabled = skia_use_wuffs
+  public_defines = [ "SK_HAS_WUFFS_LIBRARY" ]
+
+  deps = [
+    "//third_party/wuffs",
+  ]
+  sources = [
+    "src/codec/SkWuffsCodec.cpp",
+  ]
+}
+
 optional("xml") {
   enabled = skia_use_expat
   public_defines = [ "SK_XML" ]
@@ -874,6 +887,7 @@
     ":sse42",
     ":ssse3",
     ":webp",
+    ":wuffs",
     ":xml",
   ]