Add support for asynchronous iterator using a Cursor interface

This is just a first draft for cursor support. Changes are definitely needed. See "issues" list for further thoughts.