Zoomslider cannot be added to a map with no target

The zoom slider control's initSlider_ function requires that the control's element is inserted in the document. So if initSlider_ is called before the map have a target then the slider isn't correctly initialized. This commit fixes that by defering the slider initialization until the first handleMapPostrender call.
handleMapPostrender may get a null frameState
Merge pull request #855 from elemoine/zoom-slider-fix

Zoomslider cannot be added to a map with no target
Better docs for View2DOptions
@class doc for View2D
Merge pull request #857 from elemoine/view2d-docs

Better View2D docs
Merge pull request #840 from fredj/zoomcontrol

Add ol.control.Zoom#zoomByDelta function
Add ol.DeviceMotion

TODO:
 - convert rotation rate to rad/s (instead of deg/s) ?
 - better example (shake to zoom)