[display] Fix "ensure window is fully onscreen" logic

The previous setup didn't take into account the possibility of there being
multiple displays; thus, newly-created DisplayWindows were always coerced
to be on the primary display of the computer.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14646 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[GUIUtils] Remove code duplication.

The isLocationInScreenBounds() method shared significant similarities with the
more flexible getGraphicsConfigurationContaining() method.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14647 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[logging] Add ReportingUtils.getCaller().

This method returns the name of the method that invoked the method that
called ReportingUtils.getCaller(). Occasionally useful for debugging; one would
hope that it not be needed in normal program logic...

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14648 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Added function showMessage(String msg, Component parent) to the ScriptInterface so that plugin can center messages over their own windows instead of the middle of the screen

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14649 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Revamped MMFrames class and cleaned up all code inheriting from MMFrame.  Regretfully, this may lead on occassion to a one time loss of saved preferences and use of default settings

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14650 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[display] Improve repack behavior.

Previously, DisplayWindow.pack() would call ImageCanvas.zoomOut(), which
called DisplayWindow.pack(), etc., and we would iterate this multiple times,
each time changing the zoom level of the canvas by 1 "level", until the
canvas fit in the window. Now we directly calculate the desired canvas size
and jump straight there before calling zoomOut(), which removes some flicker
when creating DisplayWindows for large camera sizes, and may fix a stack
overflow bug (caused by pack() calling zoomOut() calling pack() etc.).

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14651 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd