GN: Android Vulkan support

Android's the easiest place to start supporting Vulkan, so it's up first.

ndk_api becomes user-specifiable so that the Vulkan bots can kick it up
to 24, the first release supporting Vulkan.  The defaults remain the same:
18 for 32-bit and 21 for 64-bit, the first release supporting 64-bit.

To test this, I set ndk_api=24 and skia_use_vulkan=true in GN, then
   $ ninja -C out dm; and droid out/dm --config vk --src gm

Seems to work!  Bot scripts to follow.

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

Review-Url: https://codereview.chromium.org/2336343002
diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn
index 1ef121a..e6a8b69 100644
--- a/gn/BUILDCONFIG.gn
+++ b/gn/BUILDCONFIG.gn
@@ -9,6 +9,7 @@
   is_debug = true
   is_component_build = false
   ndk = ""
+  ndk_api = 0  # 0 == picked automatically for target_cpu.
   sanitize = ""
 }
 
@@ -45,7 +46,15 @@
   ndk_target = ""
   ndk_platform = ""
   ndk_stdlib = ""
-  nkd_gccdir = ""
+  ndk_gccdir = ""
+
+  if (ndk_api == 0) {
+    ndk_api = 18
+    if (target_cpu == "arm64" || target_cpu == "mips64el" ||
+        target_cpu == "x64") {
+      ndk_api = 21
+    }
+  }
 
   if (host_os == "linux") {
     ndk_host = "linux-x86_64"
@@ -55,32 +64,32 @@
 
   if (target_cpu == "arm64") {
     ndk_target = "aarch64-linux-android"
-    ndk_platform = "android-21/arch-arm64"
+    ndk_platform = "android-${ndk_api}/arch-arm64"
     ndk_stdlib = "arm64-v8a"
     ndk_gccdir = ndk_target
   } else if (target_cpu == "arm") {
     ndk_target = "arm-linux-androideabi"
-    ndk_platform = "android-18/arch-arm"
+    ndk_platform = "android-${ndk_api}/arch-arm"
     ndk_stdlib = "armeabi-v7a"
     ndk_gccdir = ndk_target
   } else if (target_cpu == "mips64el") {
     ndk_target = "mips64el-linux-android"
-    ndk_platform = "android-21/arch-mips64"
+    ndk_platform = "android-${ndk_api}/arch-mips64"
     ndk_stdlib = "mips64"
     ndk_gccdir = ndk_target
   } else if (target_cpu == "mipsel") {
     ndk_target = "mipsel-linux-android"
-    ndk_platform = "android-18/arch-mips"
+    ndk_platform = "android-${ndk_api}/arch-mips"
     ndk_stdlib = "mips"
     ndk_gccdir = ndk_target
   } else if (target_cpu == "x64") {
     ndk_target = "x86_64-linux-android"
-    ndk_platform = "android-21/arch-x86_64"
+    ndk_platform = "android-${ndk_api}/arch-x86_64"
     ndk_stdlib = "x86_64"
     ndk_gccdir = ndk_stdlib
   } else if (target_cpu == "x86") {
     ndk_target = "i686-linux-android"
-    ndk_platform = "android-18/arch-x86"
+    ndk_platform = "android-${ndk_api}/arch-x86"
     ndk_stdlib = "x86"
     ndk_gccdir = ndk_stdlib
   }