Hit detection refactoring

Get the frame state from the map instead of storing values in the layer renderers.
Add ol.source.Source#forEachFeatureAtPixel
Add ol.source.ImageVector#forEachFeatureAtPixel
Add ol.renderer.canvas.ImageLayer#forEachFeatureAtPixel
Add ol.renderer.dom.ImageLayer#forEachFeatureAtPixel
Add ol.renderer.webgl.ImageLayer#forEachFeatureAtPixel
Add hit detection to image-vector-layer example
Better typing
Merge pull request #1504 from elemoine/vector-api-image-vector-hit-detection

[vector-api] Vector image hit detection