Add weak member support to trunk.

This allow us to have weak pointers betweem heap allocated objects.
I removed CallbackTrampoline and the markingTrampoline callback since we don't need it as the code is now. We can always add it back if we need different ways of invoking the marking and weak pointer callbacks. For now it is the same.

R=ager@chromium.org, erik.corry@gmail.com, haraken@chromium.org, vegorov@chromium.org, zerny@chromium.org
BUG=

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

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