That's great that there's still something that can be done here. After I downloaded your program, I took a look at the Löve game framework, and I really liked it.
If the blinking cursor causes a visible processor load, it is certainly due to the engine's implementation, which may be redrawing entire frames for this purpose. Just keep in mind that we're talking about the processing load of quad-core or octa-core processors clocked at several gigahertz. I'm maintaining an open source vintage word processor myself based on the tk Text widget, which generates no visible processor load when idle and also has a blinking insertion cursor. However, it doesn't support background graphics, and I can't seem to get a typewriter mode going either.
Keep up the good work!