Fixes #150

This looks pretty good. RosettaCode, which has 75,000 files, is
reasonably responsive when searching. I don't know what Chromium is like
in terms of files, but I also suspect I know my limitations for now.
Give ProjectManager loading UI

See #156. This change adjusts the project manager to have a loading bar
during lengthy operations. It also adds a `tick()` method that queues up
operations in 15ms chunks--we'll still blow the frame budget most times,
but it keeps things reasonably responsive (at least until the render
tree has to be added to the DOM).