Code style changes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
A slaver logger to report the progress of sub-processes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Use a slave logger in the Sparse Tracker framework.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
SpotTracker now implements Multithreaded,

and TrackMate uses it.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
SparseLAPTracker is now multithreaded.

For the best! This is because we could multithread the cost matrix
creation, which is the item that takes the most time. On top of
everything it was relatively easy to do so:

In a first step, we loop over all spots to test against all other spots
if a merge a split or a gap can be bridged. Very few candidates are
retrained. So we could poll from a list of spots in a multithreaded
fashion, and add candidates to a common list using the synchronized
keyword. Because there are few candidates, this causes only little
impact on expected performance. And it works very well:

50 frames of 400 spots each
MAX MEMORY     |    TRACKING TIME
               |
  LAP tracker, 24 threads (hyperthreading):
9.3 GB         | 40 s.
Cannot do more than 50 frames with this one, my computer breaks.
  Sparse LAP tracker, 24 threads (hyperthreading):
230 MB         | 4 s.
  Sparse LAP tracker, 1 thread:
60 MB          | 18 s.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>