Completion renderer interface and built-in inline ghost renderer.
A renderer controls how completion candidates are displayed. The
default inline_ghost renderer draws a single candidate as dimmed
text after the cursor.
A renderer must implement:
draw(self, completion, cursor_col, available_width, tss) -> draw_length
Render the completion and return the number of characters drawn.
completion is the completion object (use get(), secondary_text()).
cursor_col is the current cursor column within the visible area.
available_width is the maximum number of characters that can be drawn.
tss is the TSS instance for styling.
clear(self, draw_length, blank_char)
Erase the previously drawn completion. draw_length is the value
returned by the last draw() call. blank_char is the character
to use for blanking (typically " ").