Add marker animation on drag start/end

- To fix: position of marker jumps on initial drag after lift animation
Use ImageView while dragging instead of marker

- ImageView replaces marker during dragging
- Refined animation code
Add pin with alternative image and alternative colour
Markers are default non-draggable

- Add marker to manager object to make draggable
add -removeAllDraggableMarkers method
Tidy-up
Add mapView property on manager object

- Allows caller to change or clear map (by setting to nil)
- Setting mapView to nil will remove gesture recognizer and remove
markers from draggable markers set
Tidy up and comment code