This commit adds type annotations to main.py and fixes typos as well.
It also adds a FIXME to check if we really should add a new line at
end of password
This commit adds a decorator that will handle redrawing of gui.
The pattern sizer.clear() ... pnl.SetupScrolling() and
sizer.layout() is very common and easy to handle with a decorator.
This commit refactors this program to use a separate module for pass
related stuff. This will enable a better separation between backend
and frontend.
There is still some work to do, e.g. adding getters and setters
instead of using member attributes directly, but it is a start.