map: break reference cycles
map: break reference cycles

- Only store weak reference to self in DataViewPositionMarker
  This currently results in a bug where the data_view_position_marker is
  incorrectly freed early after the first mouse hover leave event on
  the marker pin on the map.
- Use unowned where reference counting is disabled for other reasons
  than reference cycles: i.e. ownership is guaranteed.
- Don't store references to the MapWidget in PositionMarkers
- Remove the private PositionMarker interface and replace it with the ex
  AbstractPositionMarker.

abrauchli/shotwell,abrauchli/shotwell,abrauchli/shotwell