IDL: Overload resolution for multiple argument lengths

CG change is very minor (main content is just changing the "incremental
switch" function), but this makes the overload resolution applicable
to many more cases.

After this it's just handling existing type cases (Array, Callback, etc.)
and optionality/variadic,
so I've made is_use_spec_algorithm() list *unsupported* cases,
not supported cases.

R=haraken
BUG=293561

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

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