Well, kicad is rather complicated piece of software which IMHO needs a
rewrite of some parts. There is no documentation about source code,
just code itself. If you think that you can understand the program in
few days of looking through code you are mistaken. you will need few
weeks to review all of the code.
Wxwidgets are complicated for beginners too. But for understanding of
kicad code you do not need a lot of understanding of it. It helps if
you know MFC, AFAIK both libraries are similar (logic behind them not
the code).
undo/redo feature is not so simple feature that can be implemented as
a addon. This has to be done from the ground up. More about undo/redo
you can find on google.
I hope i didn't scare you.
Rok Markovic