Detach Snapshot model from Snapshotter service

I'm in the process of extracting some core concepts of Diffux into a
"diffux-core" repository. This is so that other people can use the
snapshotting and diffing capabilities of Diffux without having to deal
with the entire Rails server and all its dependencies.

The first component to be cleaned from dependencies is the Snapshotter
service. I moved all snapshot model related stuff into the
SnapshotterWorker instead.

One thing to note:
 - `@viewport` inside the snapshotter service is now only a width (and
   thus renamed to `@viewport_width`). It used to be width x height, but
   for snapshotting, it doesn't matter. the entire height of the page
   will be snapshotted anyway.