(hline_prop_list, box_prop_list, noop_hook): New
variables.
(get_hline_create, get_box_create): New functions.
(find_realized_face): Cancel previous change. Arg RFONT deleted.
Use memcmp.
(free_face): Cancep previous change. Free face->frame_list.
(serialize_hline): Do nothing if hline->width is zero.
(serialize_box): Do nothing if box->width is zero.
(mface__init): Setup all properties of mfae__default.
(mface__fini): Free hline_prop_list and box_prop_list.
(mface__realize): Cancel previous change. Update
face->frame_list. Setup rface->non_ascii_list.
(mface__for_chars): Update rface->non_ascii_list.
(mface__free_realized): Free rface->non_ascii_list.
(mface__update_frame_face): New function.
(mface): Initialize face->frame_list.
(mface_copy): Likewise. Just copy MFACE_HLINE and MFACE_BOX
properties.
(mface_merge): Likewise.
(mface_put_prop): If key is Mhline or Mbox, get value by
get_hline_create or get_box_create respectively.
(mface_put_prop): Update frame->tick and call
mface__update_frame_face if necessary.
(mface_update): Do nothing if func is noop_hook.