Restrict visibility of stubs libraries

A change to add system_modules to droidstubs build rules allows the
same system modules to be used to create the stubs as will be used to
compile them. That avoids the need to duplicate the libs from the
system modules on the droidstubs and allows their visibility to be
restricted.

When sdk_version: "none" is specified it is required that the
system_modules property is also set; consistent with how it behaves on
java_library. That requires system_modules: "none" to be added to
droidstubs rules.

Bug: 142534789
Test: m checkbuild
      built offline-sdk-docs without my changes and took base copy
      repeated with my changes and compared with base copy
      verified that only the timestamp.js file had changed.
Change-Id: Id62970a91e86253c122358c26891c9d9c8765507
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index afba8e9..88266ff 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -752,15 +752,12 @@
     java_version: "1.9",
     installable: false,
     sdk_version: "none",
+    system_modules: "none",
 }
 
 // A stubs target containing the parts of the public SDK API provided by the ART module.
 java_library {
     name: "art.module.public.api.stubs",
-    visibility: [
-        "//external/conscrypt",
-        "//external/icu/android_icu4j",
-    ],
     srcs: [":art-module-public-api-stubs-gen"],
     errorprone: {
         javacflags: [
@@ -853,6 +850,7 @@
     srcs: [":art_module_api_files"],
     installable: false,
     sdk_version: "none",
+    system_modules: "none",
     annotations_enabled: true,
     args: "--hide-annotation libcore.api.Hide " +
         "--validate-nullability-from-merged-stubs ",