New map 'idle' event

Add a new `ol.Map.isIdle()` function and event.
My goal is to create a *screenshot* control to be able to save a map view into an image (using `canvas.toDataURL()`), the control must wait for all the animation to be finished and all the tiles to be loaded.

This control will be more or less:
```javascript
ol.Screenshot.prototype.take = function() {
  if (this.map.isIdle()) {
    this.saveImage();
  } else {
    goog.events.listenOnce(this.map, 'idle', this.saveImage, false, this);
  }
};
```
Of course, the control must check if the renderer is canvas; otherwise a synchronized and hidden map could be created.

Is it the right direction? Will it works with a single image layer?