[gateway] optimized search

@espadrine, your fuzzy matching function is super fast. However, our current code didn't take advantage of that because:

- It didn't perform search on local data right away, but waited for the server read.
- It didn't ask for a server read after the page was loaded, but only when the user typed.
- Additionally, it triggered multiple server queries for each typed letter before the first query was completed.

I fixed that. It now becomes instantly searchable (using the local file list), and as soon as the page is loaded it requests a single server read in the background that makes subsequent searches go deeper.

(Bonus: Fixed mime types)