(work in progress) initial iterator object library

Not ready to merge yet, since it can't use a proper method with `&mut self` for `next` yet.