Navigating the curses-based histedit interface can be pretty slow
because it redraws everything whenever you make a change.
This patch simply replaces @property by @util.propertycache on the
histeditrule.desc() function so it's not re-calculated every time
the screen needs to be re-rendered. I timed it on an example of 30
simple commits, where I moved the top commit down 25 steps and then up
25 steps after. Before this patch, that (the whole hg histedit
invocation) took 11.6 s of CPU and after this patch it took 0.8 s).