Support patching docs from imported module stub files
Fixes #791.
Patches docs for variables imported from other modules with external type stubs if the current module has no type stubs. Helps create docs for native extension modules (e.g. from nanobind or PyO3).
Investigating test failures. The 3.14.0 ones looks potentially unrelated, but the others are legit.
@mhils fixed the tests so this should be ready for review.
One other behavior change is in TypeDict inheritance, attributes no longer skip directly to the base class its from, and instead follows the inheritance hierarchy (test_snapshot.py::test_snapshots[repr-typed_dict]). This feels slightly more accurate to me, but happy to try to preserve the old behavior if desirable. I see theres already some special casing around TypeDict so maybe you have thoughts or advise there.