Improved how we paint maintext to support update calls outside of the sequence of a keypress

-Added new sub to Curses::UI::Menubar to find out currently selected menu bar options
-Moved update maintext logic into its own sub and used that sub instead
-Updated u keypress event to use that sub too
-Moved width logic into its own sub and cleaned up references to it