Lazy initialize OtherProjectsSidebarGenerator in hook handlers

This introduces an OtherProjectsSidebarGeneratorFactory so
that OtherProjectsSidebarGenerator can be lazy initialized
with the SiteList, only when needed.

also split ParserAfterParser hook handling from SidebarHookHandlers,
so we don't need to initialize stuff like LangLinkHandler for
hooks called outside of parsing.

Bug: 56602
Change-Id: If99ab8cf9629b4bcb59e10f4c0495d6bb004cb69