* Check for cyclic dependencies during compile
Changes gulp-tsb to check the emitted JS code for cyclic dependencies. Historically we never cared about cycles between TS files as long as they dissappeared after compile (e.g type-dependencies, not runtime dependencies)
https://github.com/microsoft/vscode-internalbacklog/issues/5271
* fix cycling dependencies
fyi @aeschli @aiday-mar
* remove cyclic dependency with unused `BasedTextEdit` fyi @hediet
* remove cycle between chatEditService and chatEditingSession
fyi @alexdima
* remove cyclic dependency between chatSetup and chatViewPane
fyi @roblourens
* better cycle detection
* don't check cycles when not needed
* clear graph when reprocessing file dependencies
* remove cycle between with `notebookChatEditController` fyi @DonJayamanne
* modernize and cleanup tsb/utils