Add overload support for non-wrapper type vs. primitive type

Currently the overload resolution algorithm cannot handle non-wrapper types,
notably Dictionary.
This is causing problems for Web Animations, as per below CL,
specifically for Dictionary vs. double.
This is a conservative change, adding basic support for overloading
non-wrapper vs. primitive types.

This is simple, requiring that definitions appear in a given order:
methods with non-wrapper type arguments before
methods with primitive type arguments.

This bug can't be fixed without completely rewriting the overload algorithm,
b/c currently it only processes one method at a time,
but actually needs to consider the full overload set all at once,
which is much, much more complicated.
(Alternatively we could add a !IsObject to all checks of primitive arguments,
 but that's slow and unnecessary.)

Reference CL:
Web Animations API: Start implementation of timing input objects.
https://codereview.chromium.org/105273010/

BUG=293561
R=haraken

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

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