bounce() where not using the actual marker's latlng

The bounce() method was using the original latlng also for markers with
an updated latlng (for example, with setLatLng() or when drag ends),
causing the animation happening in the wrong coordinates.
This change adds a private _bounce() method that would be used onAdd(),
and extends the bounce() method updating the _orig_latlng with the last
marker's latlng.