## Description
This PR extends on-hover support to include module accesses. When
hovering over a module name, we now see a description of the module and
can jump into its definition:

This also works for aliases:

This PR also includes a refactoring to reduce the number of parameters
that were being threaded thorough all calls of both symbolicators.
At a high level, the implementation of this new feature is quite simple
- a module access that needs to be connected with module definition can
only happen when accessing a struct or a const, or when calling a
function, and we need to add an additional `UseDef` in these places.
What complicates things is aliasing - at the level of typed AST we no
longer have access to alias names in module accesses (see explanation
around this
[comment](https://github.com/MystenLabs/sui/pull/15503/files#r1438361789)
in the code itself). A large portion of this PR is then an extension to
`ParsingSymbolicator` to record the correct lengths of aliases so that
they can be used when `TypingSymbolicator` needs them.
## Test Plan
New tests have been added.