improve handling of image generation errors

Adjust the code flow to make the right use of exceptions: whether there
is an image generation error, instead of deciding what to do define
exactly what happened and leave the actions up to the exception handler.

* exceptions.php: introduce RTImageError exception class, make the
  inline images constants and add new images
* index.php: make sure an image exception is always an RTImageError
* renderErrorImage(): deprecate
* renderAccessDeniedImage(): deprecate
* renderProgressBarError(): deprecate
* castRackImageException(): new function, an exception class convertor
* createTrueColorOrThrow(): new function, a PHP-GD error detector
* dispatchImageRequest(): don't do any local dispatching, convert
  exceptions to RTImageError where it makes sense
* printRackThumbImage(): use createTrueColorOrThrow()
* renderProgressBarImage(): ditto, throw only RTImageError
* renderProgressBar4Image(): ditto