[ty] Emit "arguments after `**` must be a mapping" before overload resolution (#22921)
## Summary
Closes astral-sh/ty#2653
Move the KeywordsNotAMapping check from bind.rs to builder.rs, matching
the existing pattern for starred argument iterability. This ensures
users see "must be a mapping type" instead of "no matching overload"
when passing a non-mapping **kwargs to an overloaded function.
## Test Plan
Added test case for **kwargs with non-mapping types on overloaded
functions in function.md.