Add padding options for map.fitBounds/getBoundsZoom, close #859

Also make fitBounds accept ILayer, and fix bounds for fitWorld, close
#960