Use the CrossProcessCursor interface in the way it was intended
without introducing special cases for AbstractWindowedCursor.
This is possible now that we do not distinguish between local-only
and remotable CursorWindows so we don't need to provide a window
to the AbstractWindowedCursor for it to fill; it can provide one
for itself if it wants one.
This logic makes it possible to create CrossProcessCursor
implementations that perform just as well as AbstractWindowedCursors.
Change-Id: I764b25ee6311d28c50d1930705346b265faec86a