Merge branch 'master' into cpp

* master:
  Avoid arithmetic on void*
  Embracing bracing
  libpng types in LCMS, formatting
  USE_LCMS=1
  Convert images to sRGB using lcms1
  Return values from getters directly rather than via pointer
  Check pointers
  Manual updates
  Sign comparisons
  Hidden accidentally-exported function
  Formatting
  Custom allocator for aligned memory
  Use custom allocators for everything
  Simpler INT_MAX math
Modified source to compile with Microsoft Visual C 18.0 (no SSE2 compability)

Edited-by: Kornel Lesiński <kornel@geekhood.net>
Add NDEBUG definition to Makefile.mak
Add SSE2 support for Microsoft Visual C compiler
Use unaligned load instead of copying
Use braces instead of macro to fix Visual C compiler errors
Fix Makefile when USE_SSE is not specified
Casts for C++