This should hopefully address #5. I'm removing some constraints from manhattan lines, rectangles and squares.
LGD2F7UV6QWAKLM7JWBKRPUD3AJAUFQ7DZN2E6SBBGXUTS7CGHVQC
ZTMRQZSWUL6FJRI4C4H37MR2IMV22DB6KRGEOUNYRWW5CTAVQFKAC
LAW2O3NWVFTPBSKIMIXPAGYBDOCHYJNKCAVWKNKH62G42DIKZCYQC
YHB3IX5ORIPVVQ2C64GK3GZALEMFSJTNU5CPQJCLWY2ZXS7LNHZQC
RT6EV6OPUYCXYZOX2PHFXJ7KT77KHNEVINEGQXIQLHQVKPGTN6VQC
BLWAYPKV3MLDZ4ALXLUJ25AIR6PCIL4RFYNRYLB26GFVC2KQBYBAC
BYG5CEMVXANDTBI2ORNVMEY6K3EBRIHZHS4QBK27VONJC5537COQC
FS2ITYYHBLFT66YUC3ENPFYI2HOYHOVEPQIN7NQR6KF5MEK4NKZAC
IDGP4BJZTKAD6ZO4RLAWYVN6IFCMIM76G6HJGPTE27K4D6CDBUHQC
There's two broad ways to fix this. The first is to relax constraints,
switch the manhattan line to not be manhattan. The second is to try to
maintain constraints. Either constrain the point to only move along one line
(but what if it's connected to two manhattan lines?!), or constrain the
other end of the line to move alongside. I'm not sure yet which would be
more useful. Getting into constraints would also make the program more
complex.
Bottomline: at the moment moving points connected to manhattan lines,
rectangles or squares can break drawings in subtle ways.