Add android_external in anticipation of dependency in @bazel_tools
To remove all //external:android@bazel_tools, all routing to @androidsdk will go through the new module @android_external. We have to add it to @rules_android before we can migrate @bazel_tools.
For backward compatibility, we can't remove all 'bind' calls until @bazel_tools is //external-free. Move bind calls to WORKSPACE.bzlmod because we can't have them stay in module extension implementation. It means the bind call happens before we have @androidsdk defined, so we add alias at top level to forward the binding to @androidsdk. However, @rules_android~~android_sdk_repository_extension~androidsdk is not visible from //external:<blash> when the root module is not @rules_android. So the example/basicapp still make direct android_sdk_repository call so its bind calls are in order.