Add new [SpecialWrapFor] extended IDL attribute

This attribute allows us to eliminate some uses of [CustomToV8] by handling those
cases where a base class may want to defer wrapping to its subclasses.
Custom wrap() functions removed in this patch are Element, Blob, and Document.

Document required a bit of extra code to handle updating the document wrapper
stored in the V8WindowShell.

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

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