feat: move pybind11.h non-template definitions to pybind11-inl.h

The headline of the split: cpp_function's make_function_record,
initialize_generic, destruct, and the 440-line dispatcher move out of
line, along with generic_type::initialize, enum_base, the function
signature generators, module cache helpers, keep_alive_impl,
get_type_override, error_already_set::what, and detail::print. The
templated initialize(), descr.h machinery, and the module/class_ API
stay in the header.

Assisted-by: ClaudeCode:claude-fable-5
6 files changed