In getPageFavicons, `toURI(pageUrl)` was called synchronously outside the promise chain, so a synchronous throw from Services.io.newURI escaped the per-page .catch() and rejected the whole batch. This patch moves toURI inside a per-page try/catch so an unparseable URL just returns no favicon for that page instead of aborting the request. Differential Revision: https://phabricator.services.mozilla.com/D303736