adds map bounds aware `LayerGroup` rendering.

`LayerGroup` manages child vectors and markers to only add to the map those within map bounds at map `moveend`, others outside map bounds are removed from map.

For performance improvement. Same basic idea as `L.TileLayer` `unloadInvisibleTiles` options (I think, if I understand that feature correctly). Saves browser/DOM from having to render elements not within current map view. Use case would be a data set with thousands of features (maybe single GeoJSON file) added to a LayerGroup. Zoomed to a reasonable level, only 10, 20, 100, whatever are ever within the map bounds at one time. Preferably only those 10, 20, 100, whatever should be added to the map.

Could also have option to enable. Not there currently.

[Resulting interaction with LayerGroup with Markers](https://f.cloud.github.com/assets/1182714/1213331/78daf048-2627-11e3-84a9-9f9bb9599279.gif)