Convert GN visibility variables to lists.

Currently this is either a list or a string. However, this is causing some problems because templates can't add to the invoker's visibility list without knowing if the original is a string or a list.

In an effort to make this consistent, I'm converting all visibiltiy to be lists, and will remove support for strings in a future build.

This exempts cld from header checking since it was confusing GN's header checker. It adds a ppapi header target as well that will be used by libyuv (that requires a roll).

TBR=scottmg

Review URL: https://codereview.chromium.org/544423002

Cr-Commit-Position: refs/heads/master@{#293638}
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index 58c8e48..86ed5a1 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -699,5 +699,5 @@
     "//base",
   ]
 
-  visibility = ":skia"
+  visibility = [ ":skia" ]
 }