Breakup names at -

Until now, names like 'within-document' had to be fully typed out, to be found.
Now they are too broke up at every non-alphabetic character, which makes them firendlier to search.

I also moved some redundant logic from `app.js`and `fetch.js` to `util.js`.

This pr *should* work, but I couldn't test it yet.