[READY] availableWidths as a function

Alternative implementation of #21.
It adds 2 more commits that enables `availableWidths` to be either an array of values or a function.

```javascript
var imgr = new Imager({ availableWidths: [8, 16, 24, …] });

//equiv to
var imgr = new Imager({
  availableWidths: function(image){
    return image.clientWidth - image.clientWidth % 8 + (1 * (image.clientWidth % 8 ? 8 : 0));
  }
});
```

![](http://i.imgur.com/havYkm4.gif)