add Scroll API

Scroll is a companion to Scan. They both basically do the same, i.e.
scroll efficiently through a large result set.

How do they differ?

Scan is best suited for scrolling through the results inside a server
process where you do not need to return results to a client, e.g. a
typical pagination process in HTTP.

Scroll is suited for paginating through results and returning pages
intermittently. So Scroll is best suited for request/response style
pagination, e.g. in HTTP.