A class that contains a set of utility classes and methods
around displaying and positioning popup menus.
Popup menus sometimes need to be repositioned so that they
don't "fall off" the edges of the screen.
Some of the menus have items that are added dynamically, that is,
after the menu is displayed. These menus are often placed correctly
for their initial size, but will need to be repositioned as they