docs: def image(image_format, doc=None):
      """Dynamically creates an image type handler for the specified image type"""
      @on_valid('image/{0}'.format(image_format))
      def image_handler(data, **kwargs):
          if hasattr(data, 'read'):
              return data
          elif hasattr(data, 'save'):
              output = stream()
              if introspect.takes_all_arguments(data.save, 'format') or introspect.takes_kwargs(data.save):
                  data.save(output, format=image_format.upper())
              else:
                  data.save(output)
              output.seek(0)
              return output
          elif hasattr(data, 'render'):
              return data.render()
          elif os.path.isfile(data):
              return open(data, 'rb')
  
      image_handler.__doc__ = doc or "{0} formatted image".format(image_format)
      return image_handler