This should hopefully address #5. I'm removing some constraints from manhattan lines, rectangles and squares.
AVFRVNFRGQ3KY6CPC2QFPYVO6OAGZVYV7IVX5PSKGCNWO24Q2MTAC
ZTMRQZSWUL6FJRI4C4H37MR2IMV22DB6KRGEOUNYRWW5CTAVQFKAC
LAW2O3NWVFTPBSKIMIXPAGYBDOCHYJNKCAVWKNKH62G42DIKZCYQC
ZRKTXF4QSO22OGFPJZOBNCMOWLFCWHK6IMY2UCID3HCGVMJSDDFAC
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.