[vector-api] Icon/shape API and cross-origin hit detection

This PR includes three sets of changes:

* The ol.shape.renderCircle and ol.icon.renderIcon functions are removed, and replaced by ol.style.Circle and ol.style.Icon classes. This makes it possible to store (and later retrieve) the values used to create the image. This will also allow getting images for specific pixel ratio values.

* Make hit detection functional with remote, non-CORS enabled, icons. This works by using fillRect on the hit detection context instead of drawing the icon. 

* Add and use getters to access style properties on style objects. By exporting getters style properties can be made available to the application code.