perf: delay closing of orphaned projects until next open
perf: delay closing of orphaned projects until next open

Currently, when a document is closed, we check to see if there are any other open
files in the associated project for that file. If not, we close the project (more
specifically, we close the _external_ project for the HTML files which releases
the inferred project and results in it being closed as well). If vscode, when
navigating between files, even of the same project, this can result in the
project being closed and then opened immediately because vscode closes
the currently open file before opening the next.

Instead, we wait to close "orphaned" external projects until after the
next file has finished opening. This way, we avoid closing and opening a
project when the two files are part of the same project.

Fixes  https://github.com/angular/vscode-ng-language-service/issues/1092

angular/vscode-ng-language-service,angular/vscode-ng-language-service,angular/vscode-ng-language-service,angular/vscode-ng-language-service