fix(language-service): Instantiate MetadataResolver once (#32145)
fix(language-service): Instantiate MetadataResolver once (#32145)

Instead of destroying and recreating MetadataResolver every time the
program changes, create one instance and reuse it throughout the
lifetime of the language service.
Since Angular StaticSymbols are invalidated when program gets
out-of-date, this should be safe.
This should make the language service more more performant.

PR Close #32145

alexeagle/angular,shairez/angular,blesh/angular,JiaLiPassion/angular,vikerman/angular,gdi2290/angular,wKoza/angular,alexeagle/angular,Toxicable/angular,gdi2290/angular,mprobst/angular,gdi2290/angular,vikerman/angular,alexeagle/angular,StephenFluin/angular,snaptech/angular,gnomeontherun/angular,filipesilva/angular,Brocco/angular,matsko/angular,snaptech/angular,gnomeontherun/angular,brandonroberts/angular,wKoza/angular,filipesilva/angular,brandonroberts/angular,angular-indonesia/angular,JiaLiPassion/angular,filipesilva/angular,matsko/angular,vikerman/angular,manekinekko/angular,IdeaBlade/angular,IdeaBlade/angular,StephenFluin/angular,brandonroberts/angular,Toxicable/angular,matsko/angular,Toxicable/angular,gnomeontherun/angular,wKoza/angular,alexeagle/angular,mprobst/angular,angular/angular,Brocco/angular,JiaLiPassion/angular,alexeagle/angular,shairez/angular,angular-indonesia/angular,mhevery/angular,Toxicable/angular,gdi2290/angular,angular/angular,vikerman/angular,angular/angular,filipesilva/angular,StephenFluin/angular,brandonroberts/angular,wKoza/angular,shairez/angular,manekinekko/angular,alxhub/angular,Brocco/angular,blesh/angular,ocombe/angular,mgechev/angular,manekinekko/angular,manekinekko/angular,gnomeontherun/angular,IdeaBlade/angular,JiaLiPassion/angular,StephenFluin/angular,snaptech/angular,angular-indonesia/angular,gdi2290/angular,sarunint/angular,Brocco/angular,mprobst/angular,mgechev/angular,sarunint/angular,alxhub/angular,snaptech/angular,sarunint/angular,IdeaBlade/angular,gkalpak/angular,alxhub/angular,mhevery/angular,vikerman/angular,snaptech/angular,gkalpak/angular,alexeagle/angular,blesh/angular,angular-indonesia/angular,vikerman/angular,gdi2290/angular,manekinekko/angular,mgechev/angular,alxhub/angular,blesh/angular,brandonroberts/angular,alxhub/angular,Toxicable/angular,mprobst/angular,mprobst/angular,sarunint/angular,gkalpak/angular,snaptech/angular,mgechev/angular,gkalpak/angular,manekinekko/angular,Brocco/angular,mhevery/angular,ocombe/angular,shairez/angular,wKoza/angular,IdeaBlade/angular,mhevery/angular,blesh/angular,matsko/angular,mprobst/angular,sarunint/angular,ocombe/angular,matsko/angular,brandonroberts/angular,mhevery/angular,ocombe/angular,ocombe/angular,filipesilva/angular,Toxicable/angular,mhevery/angular,sarunint/angular,shairez/angular,angular/angular,mgechev/angular,wKoza/angular,ocombe/angular,StephenFluin/angular,Brocco/angular