initial Layer commit (base class for all layers)
move add/removeLayer logic to Layer; ditch tilelayersload event
move zoom restricting logic to GridLayer
fire add/remove events and manage _map in Layer
simpler Map getMinZoom
optimize layer add/remove with layers control present
groups cleanup; fix getBounds when containing CircleMarkers
remove Popup open/close (there are add/remove now)
add Layer getEvents and manage listeners on map automatically
more implicit falsy options to save bytes / memory;
remove accidental console.log
cleaner and more consistent zoom animation options