Initial version of display/overlay strings is working.
src/xdisp.c (set_iterator_to_next, get_visually_first_element): Use
it->bidi_it.string.schars rather than it->string_nchars when
testing whether we're beyond string end, because string_nchars is
zero for strings that come from overlays and display properties.
src/bidi.c (bidi_cache_iterator_state): Fix a bug with testing
character positions against the cached range, when we use a
stacked cache.
src/dispextern.h (struct iterator_stack_entry): New member
paragraph_embedding.
src/xdisp.c (push_it, pop_it): Save and restore it.