This module sets up the program, by pulling in the required modules,
setting up menus, providing the main screen, setting up global
variables and giving the other modules a small library of utility
functions.

Puts up the main dialogue to pick a new database. Allows user to change
database type, if they wish. Also, sets flag to help prevent connection
error messages, except on the last attempt at connection.

Reads the database dependent menu configuration file, and build up menus.
This function gets pretty complex, and a strong drink may be
required beforehand, before attempting to work out what it is doing :)