Split custom element script use and move it into bindings

In the future Web Modules may define custom elements from C++. This
adds some abstract classes in preparation for that.

In addition, adds some context death tests.

BUG=594918

Review-Url: https://codereview.chromium.org/2003033004
Cr-Commit-Position: refs/heads/master@{#396672}
18 files changed