IDL: overload resolution for string and enumeration arguments

Pretty straightforward.
Main complexity is avoiding unnecessary tests related to automatic type
conversion.

I've also slightly restructured the test generation to make explicit
when we can only have one match (use |next()|), and when we can have multiple
matches (use |for|).
Ihis was previously an issue, and this makes it clear.

This lets us remove 2 of the 3 uses of [LegacyOverloadString]
(b/c now this is an ok overload)!
(Will remove last in followup, when handle optional args.)

Also cleanup IDL files:
* lets us order methods more naturally,
* align IDL order with spec
  (CanvasRenderingContext2D esp. was v. hard to read before)

R=haraken
BUG=293561

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

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