Only show controls for WebGL settings when WebGL is used
Only use the inheritdoc plugin once
Simplify fires annotations
Recursively document subparams and span table columns
Show inherited observable properties
Add missing namespace annotation
Merge pull request #2004 from ahocevar/bind-webgl

Bind input example is broken since default renderer has changed
Mark undocumented doclets as undocumented

To give other plugins access to doclets that are not part of
the API, we have to mark them undocumented instead of removing
them. They will be removed by JSDoc before publishing anyway.
Fix quotes
Stop adding ObjectEvent links manually

Now that the links are removed from event annotations, we no
longer need to do this, because inheritance works.
Add rotate control

 - displayed when rotation ≠ 0
 - reset rotation on click
Add rotate control to defaults.
Add base control class, to simplify stylesheet
Remove useless test in default controls
Rename transform to applyTransform for geometries
Add tests for geometry applyTransform method
Rename ol.extent.transform to ol.extent.applyTransform

This gives more consistency with ol.proj.applyTransform, allowing us to add a more convenient ol.extent.transform method that takes projection-like arguments.
Reducing expectations about spherical interpolation precision

This avoids test failures in Chrome 34 (see also #1748 and https://code.google.com/p/v8/issues/detail?id=3006).
Move ol.Sphere#circle to ol.geom.Polygon.circular

Previously, ol.geom.Polygon was a transitive dependency of ol.proj (since ol.proj requires ol.sphere.NORMAL, and all spheres were capable of generating circular polygons).  Instead, ol.proj should be lower-level.  Since it deals only with coordinate arrays, it shouldn't depend on all of the geometry code.

By adding a static `circular` function to `ol.geom.Polygon`, the dependency tree makes more sense.  If you want to create a polygon that approximates a circle on a sphere, you require `ol.geom.Polygon` and `ol.Sphere` (or one of the constants).

This makes room for geometries to have a `transform` method that takes projection-like arguments (meaning that `ol.geom.Geometry` will require `ol.proj`).
Add a transform method to geometries

This accepts CRS identifiers for source and destination, transforms the geometry in place, and returns a reference to the geometry.