Util/AllocatedGrid: add size check to tail fill

Fill the tail only if the new (linear) buffer is larger than the old
one.  And, more importantly: fill the rest of the last row.
Util/AllocatedGrid: fill the previous row

.. instead of the tail of the current row.  Now that the last fill()
call fills the rest of the last row, this is easier to do, and it
fills the first row that was left untouched until now, leaving memory
uninitialised.
test/TestAllocatedGrid: new unit test
Dialogs/DeviceList: disable "Reconnect" when device is disabled

Can't reconnect until the device gets enabled.
Dialogs/PortMonitor: use UIGlobals
Dialogs/PortMonitor: use WidgetDialog