[Review Only] Create a list of long running promises and quit only when all of them are done.

This is another attempt to fix the remaining crash issue of #7683. The solution here is copying the idea from @redmunds  pull request #8062, but correctly identify the long running promise in JS Code Hints provider. So it does fix the remaining crash issue. 

This may be another one-off solution, but does provide an easy way for others to do the same thing in preventing cef-1750 crash.
The crash happens on Windows, but not Mac, so we should isolate this processing. Not sure if it happens on Linux.