Here is a slightly less buggy version.
- Coordinate system is no longer ridiculously flawed, but still needs some work.
- Adding P1 crossovers are now fixed (neighbor pairing bug in DrawPath if..elseif statement, was giving a null pointer exception and breaking everything).
- Path zooming is now handled by scaling (though the center point and/or x,y coords need to be adjusted so it doesn't appear move).
- Switching slices is still broken (another null pointer exception probably caused by a similar bug or mistake in logic). I'll look at this soon.