Implement dots and dashes on X
* src/dispextern.h (enum face_underline_type): Indent and expand
commentary as to the new dependency on the order of its
enumerals.
* src/xfaces.c (realize_gui_face): Enable dots and dashes on
window systems.
* src/xterm.c (x_draw_underwave): Don't define unused variable
on Cairo builds.
(x_draw_dash): New function; implement for X and Cairo.
(x_fill_underline): New function. Delegate to x_fill_rectangle
or x_draw_dash as appropriate.
(x_draw_glyph_string): Call x_fill_underline rather than
x_fill_rectangle.
(cherry picked from commit
e844b81c56d74aa2b2efa0ce98ed3de71647e656)