title: Implement character caret in Cairo
body: <p>I am porting a custom text entry code base from Windows to Gtk3. How can I draw a character cursor (aka caret.) In windows the call is "CreateCaret", but there is no equivalent in Gtk3/Cairo. I have tried using a timer event to draw a vertical bar, but can not get Cairo to draw (it apparently will only update on a "draw" event.)</p>
  
  <p>Must I take the indirect route and queue a draw event on the timer event, or is there some technique for drawing on a Cairo surface on a timer event?</p>