GN: dm

This builds, links, and runs on Linux.  Have not tried Mac.

I've tested is_debug={true,false} and is_component_build.
It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :)

The GPU backend isn't working yet, but all the software configurations I've tried look good.

This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188643002

Review-Url: https://codereview.chromium.org/2188643002
diff --git a/third_party/third_party.gni b/third_party/third_party.gni
index d2583a9..9e552bf 100644
--- a/third_party/third_party.gni
+++ b/third_party/third_party.gni
@@ -4,8 +4,12 @@
 # found in the LICENSE file.
 
 template("third_party") {
+  config(target_name + "_public") {
+    include_dirs = invoker.public_include_dirs
+  }
   source_set(target_name) {
-    forward_variables_from(invoker, "*")
+    forward_variables_from(invoker, "*", [ "public_include_dirs" ])
+    public_configs = [ ":" + target_name + "_public" ]
 
     # Warnings are just noise if we're not maintaining the code.
     cflags = [ "-w" ]