fix original mode, follow mode, range mode and also support custom LayerGroups with mixed features

The original code's original mode, follow mode, range mode are not right. Some remove the wrong point, and some will not add the **first** marker point. I've fix all of them.

And also support custom LayerGroups with mixed features, which have been written in README. I've add a statement to check if you are using custom LayerGroups with mixed features or loading GeoJSON.