Add minimal viewer build with Bazel.

This doesn't yet support all the slide types, but does allow us
to have a GM slide (with one gm for now).

I enforced IWYU on tools/viewer/ and gm/ to help resolve all
deps. How we handle command line flags is a bit unfortunate
(as a filegroup and not a cc_library), but I think that's
pretty tough to untangle for now.

We can add more slide types and gms as we see fit in future
CLs.

Change-Id: I41876f1b115f60e72b4b297a2106441b49cd4497
Bug: skia:13983
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/676118
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
54 files changed