Rename member for_overlaps_p in struct glyph_string to
for_overlaps.
(get_glyph_string_clip_rects): New function created from
get_glyph_string_clip_rect. Set clipping rectangles according to
the value of for_overlaps. Enable to store multiple clipping
rectangles.
(get_glyph_string_clip_rect): Use get_glyph_string_clip_rects.
(fill_composite_glyph_string, fill_glyph_string, draw_glyphs):
Rename argument OVERLAPS_P to OVERLAPS. All uses in macros changed.
(x_fix_overlapping_area): Add OVERLAPS arg. Pass it to draw_glyphs.
(draw_phys_cursor_glyph): Set width of erased cursor to use it for
calculating clipping rectangles later. Call
x_fix_overlapping_area with new OVERLAPS arg to draw only erased
cursor area.
(expose_overlaps): Call x_fix_overlapping_area with new
OVERLAPS arg to draw overlaps in both preceding and succeeding rows.