Fixed floating point accuracy issue

Turns out all my problems with order were using array_equal on arrays of
float64s. Fixed now.
Worked on clean some

Also tested order more, it definitely works. on single body layers. As
yet untested on multi-loop layers, e.g. objects with holes in them.