Make HeapSupplementable a GC mixin.

In case we decide to hole members to Supplementable structures we need to adjust before marking.
Also, this restructures the base classes of Supplement and Supplementable to only define trace in the on-heap case.

R=ager@chromium.org
BUG=

Review URL: https://codereview.chromium.org/194923002

git-svn-id: svn://svn.chromium.org/blink/trunk@169102 bbb929c8-8fbe-4397-9dbb-9b2b20218538