* restructured image function usage and image function names:
   * depending on whether the image function is a native/hardware image function or a buffer-based/software image function, the function is suffixed with either "_hw" or "_sw"
   * added image_read/image_write macros that will select the appropriate hw or sw image function depending on the argument type (this should work on all clang and gcc based or compatible compilers)
   * fixed image_write sw function names (these shouldn't contain "_int" or "_uint", since all write functions have the same return type and can thus use normal function overloading)
 * some cleanup in oclr_image.h