make qualified type annotations fault tolerant
Before this, when typing an invalid type the language server would mess up and
start suggesting completions for values rather than for types!
```gleam
pub fn wibble() -> option.|
// would show some invalid completions for all the option _values_
// rather than just the `option.Option` type.
```
We had to deal with something similar to make module accesses at the value level
fault tolerant: the parser doesn't fail when there's a select that has nothing
after the `.` (like `module_name.`).
So I ended up implementing the same thing but for type annotations as well:
the parser now allows `module_name.` with no type name following it and the
error is moved to the analysis step.
Making it fault tolerant fixed completions!