refactor(turborepo): Improve package changes watcher performance (#8064)
### Description
Like #8036, we need to split out the event processing loop from the
actual logic to avoid lagging channels. In this case we process the
changed files every 100ms.
Uses a `Trie` to store the paths since they'll likely have a lot of
overlap.
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
Closes TURBO-2921