Lazily create ol.defaultFeatureStyleFunction

Besides the slight performance benefit of not prerendering the default
circle style until we need to, this change also allows loading OL3
in browsers that don't support the canvas API (IE 7-8). If the circle
style is rendered on load, the lack of HTMLCanvasElement#getContext
causes IE 7-8 to bomb, regardless of if vector styles are used at all.
Keep track of intersecting segments

Because we have nodes sorted by segment distance from the
editing vertex in #handleMouseAtPixel(), it is cheap to create a
hash of intersecting segments there. Now in #handleDragStart(),
we do not need to measure the distance of the vertex to the
segment. Instead, we just test if the segment is in the hash.
Added another linestring to show shared segment editing
Limit shared segment editing

To avoid surprises, we enable shared segment editing only on
segments that have the same vertex coordinates.
Add a layer with real data to the example
Add possible values of layer for olx.source.MapQuestOptions
Add documentation for ol.format.Feature public API methods intended to be inherited by subclasses.
Add @function as a custom jsdoc tag for the linter.
Add documentation for the GeoJSON format.
Add documentation for the GPX format.
Add documentation for the IGC format.
Add documentation for the KML format.
Add documentation for the TopoJSON format.
Only update the index for the current component
Remove old modify-features example
Remove old ol.interaction.Modify
Add rotation, offsetX and offsetY to vector-labels example
Merge pull request #1844 from pagameba/doc-ol-format-feature

Documentation for ol.format.Feature subclasses
Merge pull request #1836 from bartvde/mapquest-layers-doc

Add possible values of layer for olx.source.MapQuestOptions (r=@elemoine)
Merge pull request #1852 from adube/example-vector-labels

Add rotation, offsetX and offsetY to vector-labels example