adding and removing connections only removes or redraws what is necessary rather than redrawing everything. when you are working on this make sure you understand exactly how objects are being copied or compared. i think underscore creates a copy of the .connections array every time something is removed, but this is OK because it is a shallow copy that does not change the underlying objects used, so angular thinks of those elements as not having changed and does not make connections re-create themselves
ok so i think adding and removing connections and syncing them with the server works well now. made the disconnect_on_client function more efficient but probably too complicated since there likely will never be that many connections for it to actually matter
reorganizing comments
connections have to check if jsplumb is ready before rendering themselves
commented code, minor reformatting