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