More refactoring
Make Follow stateful and re-use it
Remove Cache
Rename PixelLoc -> Point
Some more refactoring
Factor out Trail
Some more experimentation
Add hashCode/equals
Perform edge-fitting using float