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/content/BUILD.gn b/content/BUILD.gn
index b4eeb26..7f749aa 100644
--- a/content/BUILD.gn
+++ b/content/BUILD.gn
@@ -49,7 +49,7 @@
 # This target exists to "hold" the content_export header so we can do proper
 # inclusion testing of it.
 source_set("export") {
-  visibility = "//content/*"
+  visibility = [ "//content/*" ]
   sources = [
     "content/common/content_export.h"
   ]