Augment the blink gc plugin to detect missing USING_GARBAGE_COLLECTED_MIXIN.

It's a common and difficult to debug pitfall when you derive a GC mixin
but fail to use this macro. It leads to confusing crashes during tracing.

With this CL, the compiler will emit a warning like this:

  In file included from ../../third_party/blink/renderer/core/html/portal/document_portals.cc:5:
  ../../third_party/blink/renderer/core/html/portal/document_portals.h:17:25: error: [blink-gc] Garbage-collected class 'DocumentPortals' derives mixin class 'Supplement<blink::Document>'. You must add USING_GARBAGE_COLLECTED_MIXIN(DocumentPortals).
                          public Supplement<Document> {
                          ~~~~~~~^~~~~~~~~~~~~~~~~~~~
  ../../third_party/blink/renderer/platform/supplementable.h:119:27: note: [blink-gc] Mixin base class derived here:
  class Supplement : public GarbageCollectedMixin {
                     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  1 error generated.

Bug: 869498
Change-Id: I93454c418d53ebe0fcd411e0a829597dd9aaf925
Reviewed-on: https://chromium-review.googlesource.com/c/1340784
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#609280}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 30bc14da62522bcbbf900e2d44d2314cd8e11696
6 files changed