Allow tile load override for all ol.source.TileImage based classes

See #1036. [@fredj commented](https://github.com/openlayers/ol3/pull/1036#issuecomment-24724987):
> This option should be available for all the ol.source.TileImage based classes (not only ol.source.XYZ) but this can be done later.

- [ ] `ol.source.BingMaps`
- [ ] `ol.source.TileJSON`
- [ ] `ol.source.TileWMS`
- [ ] `ol.source.WMTS`
- [ ] `ol.source.OSM`