[AST] Improve canonicalization using dependent member types.
When substituting type parameters to compute a canonical type within a
given generic context, also handle the case where the type parameter is
directly known to be a concrete type. The type checker won’t do this, but
SourceKit does.
Fixes a regression in SourceKit/DocSupport/doc_stdlib.swift.