Introduce NewScriptState and use it in callback interfaces

- A design concept of NewScriptState is explained in https://code.google.com/p/chromium/issues/detail?id=357144.

- This CL implements NewScriptState. NewScriptState is created when v8::Context is created. NewScriptState is destroyed when v8::Context is garbage-collected and all V8 proxy objects that have references to the NewScriptState are destructed.

- This CL removes V8PerContextDataHolder, because V8PerContextDataHolder was doing almost the same work that NewScriptState is going to do. So, roughly speaking, this CL can be viewed as a CL which just renames V8PerContextDataHolder to NewScriptState.

- As one example, this CL uses NewScriptState in callback interfaces.

BUG=357144

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170428 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify run-bindings-test (tweaks)

A few minor tweaks:
* always delete cached files, even if compiler crashes
* simpler context manager (using contextlib module)

Followup:
Simplify run-bindings-test
https://codereview.chromium.org/216663004/

TBR=haraken
BUG=341748

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

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