Events.js: Check if array exists before loop
use translate2d instead of top/left for tiles when hw-accelerated

this fixes gaps between tiles in Safari and makes iOS Safari butter
smooth when zooming
make sure tiles in iOS Safari are not hw-accelerated layers
horrible hacks to fix iOS Safari bugging out hw-acceleration
move the hack to tile container reset
position the hack absolutely
fix build
size-based tile layer HW hack; use top/left for tiles everywhere
fix blurry non-retina tiles on retina iOS
move Safari hacks to CSS, do not optimize contrast in Chrome
remove leftover code
Merge pull request #2377 from Leaflet/accel

Smarter hardware acceleration
fix GeoJSON coordsToLatLng
update npm deps
change unload order
Merge pull request #2410 from gamb/master

change unload order
Add oldLatlng parameter to Marker move event, will allow MarkerCluster to support moving markers.
Merge pull request #2412 from danzel/marker-move

Add oldLatlng parameter to Marker move event
Allow stacking propagations. L.MarkerCluster uses this as follows:

Marker propagates to FeatureGroup.
That FeatureGroup propagates to MarkerClusterGroup.
Then users add listeners on the MarkerClusterGroup
Don't crash if a marker is removed from the map before it fires a mouseout event.