[webgl-point] Add atlas manager

 * Introduces a `hashCode` function for `ol.style.Circle`
 * Adds an atlas manager that uses the packing algorithm described in  http://www.blackpawn.com/texts/lightmaps/

Currently still missing:
 * The hash value is not cached.
 * ~~When the atlas manager creates a new atlas, it uses the same size (default: 256x256px). We could double the size every time we create a new atlas.~~
 * ~~Add `ol.WEBGL_MAX_TEXTURE_SIZE` to `ol.has`~~
Why not skip the creation of the intermediate atlas 256x256 in this case?

I would do:
```javascript
var requiredSize = Math.max(width, height);
do {
  this.currentSize_ = Math.min(this.currentSize_ * 2, this.maxSize_);
} while (this.currentSize_ < requiredSize);
atlas = new ol.renderer.webgl.Atlas(this.currentSize_, this.space_);
this.atlases_.push(atlas);
return atlas.add(id, width, height, renderCallback, opt_this);
```

Additionally, you should take into account this.space_ when checking image size.
For example a this.maxSize_xthis.maxSize_ image will not fit in a
this.maxSize_ canvas if this.space_ is not zero.