Fix failure to enable fields after "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
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 name markerPlacedByClickStream) are currently unused (`markerPlacedByClickStream` was referenced in addTreeMode.js, but so is `markerFirstMoveStream` and that will
have an event whenever the other would have.)