Agree with @kugel- that there seems very little point in caching height of each line when all lines are the same height, guaranteed by Scintilla ["All lines of text in Scintilla are the same height"](https://www.scintilla.org/ScintillaDoc.html#TextRetrievalAndModification) so need to show it solves some actual problem.
Requesting text height from Scintilla in `goto_popup_position_func()` is unlikely to be significant given that function then creates and renders a menu popup which will be much more expensive.