Support encoding images

This adds support for encoding arbitrary bytes of encoded images. Any image format can be supported, but  jpeg and webp is likely the most useful.

Before merging:
 
 - node-mapnik is segfaulting at exit when using this branch (need to figure out why: https://travis-ci.org/mapnik/node-mapnik/jobs/25309756#L279) - Is it https://github.com/mapnik/node-mapnik/issues/251?
 - Make image format configurable - currently hardcoded to `jpeg`.
 - Make image resampling algo configurable - currently hardcoded to `bilinear`
 - Reflect on `optional bytes raster = 5;` declaration. Perhaps it should be called `image` or `canvas`?
 - Consider mechanisms for storing arbitrary metadata - exif/tExt or another protobuf field?
 - Try to get mapnik v2.2.0 tests passing