Create a general module interface using SciJava for discovery.

And use it to tag view factories.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Action factories are now TrackMateModules.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
SpotAnalyzerFactory is now a TrackMateModule.

We use the enabled = false annotation to tag analyzers we do not want to
use at all. There will not be visible, and will not get registered.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
TrackAnalyzer is now a TrackMateModule.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
EdgeAnalyzer is now a TrackMateModule.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
SpotDetectorFactory is now a TrackMateModule.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Rewrite tracker provider API to use SciJava.

There is a SpotTrackerFactory, to which we delegate the mundane tasks f
integrating with TrackMate. SpotTrackerFactory is a TrackMateModule, and
concrete implementations are discovered by TrackerProvider.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>