Introduce a scrollback-safe screen update model for ncurses dialogs:
enter the alternate-screen buffer by default, paint the themed backdrop
once via dialog_backdrop_sync(), and route physical updates through
dialog_flush(), dialog_flush_overlay(), dialog_flush_widget(), and
dialog_flush_stdscr(). Prefer werase(3) over wclear(3), paint dialog
shadows as an L-shape, and untouchwin(3) stdscr(3) before doupdate(3)
so bkgd(3) does not emit clear_screen (CSI-H CSI-2J) into scrollback.
Add a persistent gauge API (bsddialog_gauge_open/update/flush/close) for
embedders that repaint the same gauge without tearing down curses state.
Split draw_dialog() into dialog_place(), dialog_paint_frame(), and
dialog_repaint_text(). Handle KEY_BTAB (Shift+Tab) for backward focus
navigation. Calendar opens with the day grid focused instead of buttons.
Bump LIBBSDDIALOG_VERSION to 1.2, update CHANGELOG, and adjust example
scripts (gauge/mixedgauge arithmetic, pause/rangebox height, library
compile/clean helpers).
Tested by running the contrib/bsddialog examples_utility/*.sh suite.