Simplify EventTarget bindings generation (2)

This further simplifies EventTarget bindings generation.

The goal (for now) is to only have a special case for the
{{hidden_dependency_action}}; everything else should be pretty easy
to eliminate (except maybe the ListenerFindOnly case).

The main change in this CL is making the argument handling regular.
(Also correctly handles EventListener as a callback interface.)

This also breaks up the big custom generation into smaller pieces,
so each piece can be eliminated separately.

Followup to:
Simplify EventTarget bindings generation
https://codereview.chromium.org/201603002/

R=haraken
BUG=345503

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169601 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add more checks to prevent crashes when accessing name/opener properties

Getting/setting these properties can depend on FrameLoaderClient, which
will be null if the frame containing the DOMWindow has already been
detached.

BUG=349956,352048

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169602 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move didChangeSelection to WebFrameClient.

BUG=304341

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

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