Libdl: Add documentation for LazyLibrary and friends (#59841)
Adds documentation for `Libdl.LazyLibrary` and related types.
Also extends the C calling manual with an expanded section on using
`LazyLibrary` for lazy library loading, including practical examples of
platform-specific libraries, dependency management, lazy path
construction, and initialization callbacks. Remove a few oddly confusing
or incorrect notes as well.
Also fix a `copy` oddly implemented as
`convert(Vector{LazyLibrary}, convert(Vector{Any}, LazyLibrary[]))` from
#59233 to just call `copy`.
🤖 Generated with help by Claude Code.