share api updates; use incremtal apply

incremental apply is used so that as share applies operation
components, it also updates the state of the snapshot and model.get()
is consistent with the changes being emitted
better cursor offsetting logic in example