Various small fixes and cleanup:
- Root the native log callback delegate in a static field (GC could collect it and crash the next DLL log)
- RebuildTilesInBounds no longer skips the default navmesh when independent navmeshes overlap the bounds (stale tiles at island/monument seams)
- IsNavMeshBuilt answers from the agent's bound navmesh with a lazy rebind instead of a fresh resolve that could disagree with every query
- Restore rustnav.debugpath / debugraycast / debugsample, ported to the NavVector3 API with proper independent navmesh space transforms and a not-built guard
- Delete dead code: GeometryUtils, NavmeshHelpers, TileExtractor (CreateBoxMesh moved into BackgroundTileBuilder), unused RecastWrapper P/Invokes pointing at removed exports, disabled MAX_BUILD_QUEUE throttle, GetOrigin, IsSprintingOnClient
- Skip MeshColliders with no sharedMesh during tile collection, bounds-check FailTile/AddTile coords
- TryOpenDoors reports whether a door actually opened (TryOpenDoorFor void -> bool)
- Null-guard RustNavigation.Instance on scene teardown, clear the stale Instance in OnDestroy