Initial version of the user interface base class

New file defining the base class from which user interfaces will be
derived, and defining the generic functions that the user interfaces
might have to implement or augment.