Cache option

Now NGScroller has a cache option!

Here is <a href="http://rawgit.com/dhilt/NGScroller/cache/src/examples/cacheEnabled.html">demo</a>. Try to load ~100 items and then scroll back through whole scope (for both cases; data-recieving delay simulation illustrates the difference).

By default cache is disabled. To enable cache there is a syntax:
```html
<div ui-scroll="item in datasource" cache-enable="true">
```

Cache mechanism is very simple. We memorize <i>datasource.get</i> result items with indexes (without any bindings; pure objects only) and then replace <i>datasource.get(start, length, callback)</i> call to it's <i>callback</i> call. And <i>callback</i> recieves cached items.