resurrect conditional code for OSX SDKs < 10.8 from "mass purge"

plus, change MAC_OS_X_VERSION_MAX_ALLOWED/MAC_OS_X_VERSION_MIN_REQUIRED to MACOSX_SDK_VERSION

reverted commits:
  b02e958fa0bf7d062a5b8aff03d22325e3068feb
  fe25090e992eefd0c43ca73b656632a650793b1a

Modified: 24 files (19 from b02e958f + 6 from fe25090e - 1 common)

Change-Id: Ib6e63e664dc073a8d751306f613e8be4918c406a
vcl: restore other bits of pre-10.8 conditional code

related commits:
  4fa8282816cb39692678e9da6b6693e821a3039b
  ec147012340219c8bb5eaf8fe3d41be7836bc261
  16996c6b91b53e3c7d316296833bdb8a9cb60c22

Change-Id: Ie8962f8d26f163eed91fdf6b137b0d9830183dd2
Don't assume that /usr/bin/mktemp is always a BSD mktemp on OSX, add backup for GNU mktemp

Change-Id: Ifb119dd13062593cba5aa3cb1dacc54194339544
Use GNU objc ABI/runtime instead of NeXT ABI/runtime when compiler is GCC

also,
  + fix "cannot find interface declaration for NXConstantString"
  + sal/osl/unx/system.h: include <objc/objc-api.h> when OBJC_EXPORT
    is not defined

Change-Id: I5f0df322435be8244d372642dee1c21d783306f1
vcl: include <objc/objc-api.h> when OBJC_EXPORT is not defined

Change-Id: I6fbfff670fb9d83e950e7eac60000ef3e0130f8c
apple_remote: include <objc/objc-api.h> when OBJC_EXPORT is not defined

Change-Id: Idc37a663f8a5abad30464a0f38d66237c7de39b4
vcl/osx/salframe.cxx: move includes, objc_msgSend workaround

Change-Id: I39886b4590f227ec69042fed0f5240ba0b0fd7f2