[Fix #67] Add `widthInterpolator` option

This allows the widthsMap to be dynamically created using an array of
availableWidths and a function, rather than having to build an
availableWidths object outside of Imager.