refactor before adding webp support

- only file support, no streaming support
- only imagemagick support
check for image format and size quicker
store source filename in metadata
webp support
use my fork of webp-bin because theirs is broken
Merge branch 'webp'