void InsertChar(char c)
{
int prev_lines = LineCount;
text = text.Insert(cursor, c);
ComputeRendered();
if (prev_lines != LineCount)
{
Console.SetCursorPosition(0, home_row);
Render();
ForceCursor(++cursor);
}
else
{
RenderFrom(cursor);
ForceCursor(++cursor);
UpdateHomeRow(TextToScreenPos(cursor));
}
}