Freeze global prototype chain per WebIDL

There are three places where WebIDL freezes the global object prototype chain:
- Named properties objects have an immutable prototype
- Prototypes of interfaces declared with [Global] or [PrimaryGlobal], and
  classes which are inherited from by those. For the latter, this patch
  introduces an [ImmutablePrototype] synthetic extended attribute.
- Instances of [Global] or [PrimaryGlobal]

This patch causes all three types of objects to be immutable prototype exotic
objects.

A number of tests previously checked what behavior occurs when the prototype
chain of the global object is mutated. This patch changes the tests to just
check that the prototype chain of the global object is immutable; tests which
check what happens after mutating are deleted as the path is unreachable.

BUG=v8:5149

Review-Url: https://codereview.chromium.org/2452073002
Cr-Commit-Position: refs/heads/master@{#431204}
33 files changed