ProjectFactory invalidates FCS before it removes ProjectProvider from its cache

I think similar as `InvalidateProject`, we can expose a function and call it in `add_afterClosing` in ProjectFactory. We can get rid of all events in language services.