feat(library): implement slug-based URLs
- Add slug columns to library_cats (unique parent+slug) and library_texts
- Add LibraryCategoryPathService and LibraryArticlePathService for path resolution
- Add LibrarySlugService for unique slug generation
- Add LibraryPathController as catch-all dispatcher (mirrors ForumPathController)
- Replace /library/section/{id} and /library/article/{id} routes with /library/{path}
- Update all controllers, templates, and LegacyRedirectHandler to use slug URLs
- Add install/library_slug_converter.php to regenerate slugs from names