Port MessageLineEdit to CompletionTextEdit.
Key_Return (without modifiers) sends the message as before
but if any modifier is pressed (Ctrl, Alt, Shift) it inserts a newline
in the message, like in RC+.
Key_Up/Key_Down still scrolls the listview, unless there is at least
one newline in the message, then they move the cursor in the message.