Bug 1006331 - Cache contacts above the fold in localStorage, so we can render them instant on app startup

1. At the bottom of the page vs. loading as first script in head tag with defer attribute, the defered script takes 56 ms. longer to load.
2. Setting first chunk in localstorage almost has no penalty. Takes 3 ms. of blocking code on Tarako
3. Reading first chunk neither. Takes few ms.

This whole thing is a massive amount of traversing and looping, but I imagine that `getRowsPerPage()` will never be big, so the array length will be small, right?