Re-named and re-organized Marker structure

In anticipation of potentially having different Marker objects with different symbols and animation,
the name of the "fadeout" method has been changed to generic "animation", and the actual updating
of the state for each step in the animation has been delegated to a method "update_marker", which
can be overridden by different types of Markers in the future.