various mingw32 fixes (mingw64 is better)

optimize win32 to use cc only once to .o, no .opic
vasprintf needs ... decl
pngc_page_delete() cannot cast a volatile to non-volatile (mingw32-gcc-4.2.1)
detangle syntax and libpotion deps
add some missing mingw32 includes (worked ok on mingw64)