Move SkUserConfig.h, copts.bzl, and linkopts.bzl into its own workspace

Conveniently (for us), the files are still set in the same Skia
repository, just as a sub project.

I think this mechanism will make it possible for clients to use
an SkUserConfig.h with Bazel. Additionally, it will allow them to
customize copts and linkopts as necessary for their C++ toolchain.

The downside is that clients *must* define a `skia_user_config`
repo in their WORKSPACE.bazel along with checking out Skia.
If we assume clients do a git clone of Skia (e.g. git_repository)
I have an idea for how we can make this ergonomic by way of a
function `default_userconfig()`.

I can try that out and document things in a follow-up CL.

See also: http://cl/518853356

Bug: skia:14193
Change-Id: I9919eec0db54bd80f9ee4a584fc18596b5c51f77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/658563
Owners-Override: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
20 files changed