Fix "Add another tree"

The marker was being recreated but its 'dragend' handler wasn't being reset.
Solution is to only create the marker once, and only enable its dragend handler once.
That also allows simplifying the code by removing bindMarkerEventsOnce().

Also:
* Unbind popup when leaving browseTreesMode so it won't reappear
* Patch Leaflet so it won't crash

Also simplify plotMarker.js:

`addMarkerToMap`:
* Rename as `onMarkerPlacedByClick`
* Don't export, as it's not referenced externally
* DRY it out by calling onMarkerMoved(), which does exactly what the removed lines do

Also:
* Remove `markerPlacedByClickBus` (and its exported version `markerPlacedByClickStream`) as they are currently unused. (`markerPlacedByClickStream` was referenced in addTreeMode.js, but so is `markerFirstMoveStream` and that will have an event whenever the other would have.)