Issue20

Journal: use cache for day offsets while scrolling
Fixes #20
I think this is cleaner when written as a for loop, in the same style of the old loop that went over all elements.
```
for (var i = 0; i < renderitems_day_cache.length; i++) {
  if (renderitems_day_cache[i][0] > border)
    break;

/* Now 'i' points at the first header that is just beyond border, so we show the one before that.
   As a special case, we show the first header when 'i' is zero.
*/
$(day_box).text(renderitems_day_cache[i>0 ? i-1 : 0][1];
```