Vectors 2.0

A work-in-progress implementation of #155.

- [x] `Renderer` — extends `Layer`, handles positioning, bounds and zoom animation for an SVG/VML/Canvas root
- [x] `SVG` — extends `Renderer`, adds SVG root and handles generic SVG stuff (elements, styles, events, etc.)
- [x] `SVG` multidimentional points to SVG paths for polygons/polylines/multipoly
- [x] `SVG` point/radius into SVG circle path
- [ ] `SVG` mouse events
- [ ] `SVG` `brintToBack`/`bringToFront`
- [ ] `SVG.VML` — patches SVG with VML-specific code (since other code is pretty similar)
- [ ] `Canvas` — extends Renderer, adds Canvas root and handles generic Canvas stuff
- [ ] `Canvas` drawing polylines/polygons/multipoly from multidimensional points on canvas
- [ ] `Canvas` drawing circles from point/radius on canvas
- [ ] `Canvas` mouse events
- [ ] `Canvas` `brintToBack`/`bringToFront`
- [x] `Path` — extends `Layer`, base class for all vector layers (without renderer-specific code)
- [x] `Polyline` — extends `Path`, projects/clips/simplifies latlngs, delegates drawing to renderer
- [ ] `Polygon` — extends `Polyline`, clips polygon latlngs, delegates drawing to renderer
- [ ] `MultiPolyline` — extends `Polyline`, handles multiple rings in the API
- [ ] `MultiPolygon` — extends `Polygon`, handles multiple rings in the API
- [ ] `Rectangle` — extends `Polygon`
- [ ] `CircleMarker` — extends `Path`, delegates drawing to renderer
- [ ] `Circle` — extends `Path`, scales radius, delegates drawing to renderer