More abstract tracker declaration

    This contribution changes the way how trackers should be implemented by
    programmer. It should be noted first, that from the user prospective,
    Tracker::create() method still can be called with the same effect.
    However, there's no more thing as a "constructor" for Tracker, they
    should be created via static functions, e.g.
        static Ptr<TrackerMIL> createTracker(const TrackerMIL::Params &parameters=TrackerMIL::Params());
    
    From the programmer's perspective now for every tracker what is declared
    in tracker.hpp header is more a "interface", while the real
    implementation class can (and has to) be implemented in .cpp file.
    
    *Changes in documentation will be ready a bit later today*. Please, ask me
    in case of any questions.