bindings: Introduces type-check for the internal pointers.

Makes the type of the internal pointers ScriptWrappableBase* so we can check
pointer conversions between the internal pointers and the native objects.
ScriptWrappableBase* is much safer than void* here because we can avoid
unintentional pointer conversions.

This CL also includes fixes of misconversions from/to the internal pointers.

Note that the definition of the internal pointers does not change by this CL.
We'll change the actual definition at the coming http://crrev.com/420233002 .

BUG=235436

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

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