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.

Really no need for two `map` here. You could do:
```javascript
// Clone section nodes
.map(function(groupId) {
  var groupNode = groupList
    .querySelector('#section-group-' + groupId)
    .cloneNode(true);

  // Filter out LIs below the fold
  [].forEach.call(groupNode.querySelectorAll('li'), function(li) {
    if (uuids.indexOf(li.dataset.uuid) === -1) {
      li.parentNode.removeChild(li);
    }
  });
  return groupNode.outerHTML;
```