Better error handling in ImageIO

* Handles errors better
* More verbose error messages
* Throws freeimage errors also

Fixes #193