Fix bug causing errors when resizing image windows

The errors occurred because we need to determine the maximum allowable window
size whenever we repack the DisplayWindow, and the max allowed size depends
on the display that the window is on -- which we determine by using the
window's top-left coordinate. However that coordinate may be zero (if you drag
the window partially off-screen), which caused us to be unable to determine
what display the window was on, which in turn caused a NullPointerException.
The fix is to replace any negative window coordinates with 0.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14575 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Better implementation of the previous fix.

Since it is possible for the user to have a secondary display to the left of
the primary display, negative coordinates should not *always* be replaced by
0; this should only happen after we fail to find a display containing the
negative coordinates.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14576 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
MultiChannelShading: Add MigLayout library

(Fixes build.)

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