Fix #8: Abstract out tracking code.

Now each class that does tracking uses a VortmaxNearestNeighbourTracker.
The idea is that I can add more trackers to experiment with different
ways of tracking.

In the process I've rationalised some names, removed some classes and
fixed a few TODOs (moving stuff to utils). Needs a bit more testing...