Move cropping method to Workflow, add option to do it asynchronously
Significantly speed up capture (125% on RPi) by only serializing pages
when finishing workflow
web: Serialize all exceptions to JSON
web: Replace waitress with wsgiref (stupid waitress...)

This was neccessary due to the way how waitress handles chunked
responses since v0.8.8: http://waitress.readthedocs.org/en/latest/#id3
This behaviour causes all larger files to be buffered in the temporary
directory, issuing a lot of writes that increase the storage wear. Since
this is unacceptable for our current RaspberryPi target, there was no
other possibility than to no longer use waitress. Until a better
alternative is found, the old wsgiref implementation will be used.
Use tornado as WSGI server, refactor web plugin

- Encapsulate various setup* functions in a WebApplication class
- Make both *nix and windows 'run' variants static methods on
  WebCommands
- Move websocket endpoint from a separate port to a '/ws' endpoint,
  since we can now run both our WSGI application and the websocket
  handler within the same server
web: Significantly speed up download by pre-calculating the size without going through the whole iterator
web: Add some debugging helpers

- Launch Werkzeug debugger when an unhandled Exception occurs
- Automatically restart application when source code changes
web: Fix production exception handler
web: Fix foundation package name
Restore MANIFEST.in to fix packaging with older versions of setuputils
web: Move long-polling handler to tornado
web: Fix tests and bug in workflow:delete signal
Remove trailing slash in MANIFEST.in (fixes sdist)
Update travis badge
web: Re-enable accidentally disabled WebSocket support
web: Add endpoint to download workflow as a tar-stream

This is mostly intended for OSX users, where the bundled Archive Utility
is unable to extract the zip-files generated by our streaming zip
endpoint. See issue #67 for more details.
web: Make tar download handler less memory-hungry
chdkptp: More helpful error message when chdkptp executable cannot be found
Speed up startup time by only loading plugin templates once
Fix tests