Implement basic per topic recursive search functionality and UI

This is all done on the main thread for now. It gets choppy if you
search from the root. This needs to be moved to a worker later.

Test Plan:
- Perform various searches make sure results are correct.