bugfix: only attempt to access node t after we established it exists
bugfix: because of floating point rounding errors, candidate energy for planarity can now become slightly negative
(before planarity energy was calculated as an integer)
delete array2D on deconstructing
fixed some bugs, but still not fully functional