Initial port to cffi

This passes validation but fails because the MagickWand type definition
is opaque
Fix CFFI declarations

Thanks to @lazka who pointed out that the docs on
http://www.graphicsmagick.org/wand/magick_wand.html#newmagickwand don't
match the source at
http://graphicsmagick.sourcearchive.com/documentation/1.3.8-1/magick__wand_8c-source.html

* Refactored error handling code into basic decorators
Update graphicsmagick CFFI open for newer CFFI
GraphicsMagick CFFI: add MagickSetCompressionQuality
GraphicsMagick CFFI: open() support for file-like things
Finish removing ctypes from GraphicsMagick.py

Now the ctypes / CFFI interfaces are completely segregated to their
respective backend implementations
Update README
Merge branch 'gm-cffi'