Working on DecodeImageDialog.

- using new image canvas in PlateGridCanvas
- fixed problems with plate grid
- fixed problems with resizing region
- Added DecodeImageDialog.getDecodeResult().
- added progress monitor to DecodeImageDialog
resolved issue #1837
fixed problem in DecodeImageDialog.getDecodeResult when nothing is decoded.
Added DecodeImageDialog.getPlateDimensions().
minor refactoring
Renamed classes dealing with pallets.
Fix for default value of pallet dimensions
More tweaking for DecodeImageDialog.

If no decode performed and OK pressed, user is alerted.

Added cancel button.
some more refactoring
moved Swt2DUtil.java to GUI common project
moved ImageCanvas.java to GUI common project
DecodedWell.getMessage() no longer returns null if nothing was decoded.
Display a valid dialog message if decoding of the image failed.
changes after testing on windows
changes so that ScanRegionCanvas uses pixels instead of inches
region resizing works again, now uses pixels as dimensions.
DecodeImageDialog converted to use pixels as dimensions instead of inches.
updating JNI interface to dmscanlib
updated preferences for latest version of dmscanlib
using setting .options file when using fake images for decoding