AbstractJHotDrawAdapter: fix method order

The AbstractJHotDrawAdapter#toShape method should go at the top, not at
the bottom with the private methods. See:

http://developer.imagej.net/coding-style#Ordering_of_code_blocks
AbstractJHotDrawAdapter: avoid infinite event loop

We now set a figure's attribute value only when that attribute does not
already match the new value. In this way, we avoid triggering a figure
attribute change event which triggers a display update which triggers a
canvas update which triggers figure attribute assignments...

The real mystery is why this bug only showed up recently!