Avoid directly calling objc runtime functions in C

By managing autorelease pools in objc code we avoid warnings on OS X
10.9 and it is also safer than calling objc runtime functions from C.
Avoid warning if HAVE_DUP is redefined
Snapshot 72
Stop using 10.9 deprecated CGContext function
Only pull in AvailabilityMacros.h when necessary
updated for version 7.4.053
Problem:    Test75 has a wrong header. (ZyX)
Solution:   Fix the text and remove leading ".
Added tag v7-4-053 for changeset 733193bf24c3
updated for version 7.4.054
Problem:    Reading past end of the 'stl' string.
Solution:   Don't increment pointer when already at the NUL. (Christian
	    Brabandt)
Added tag v7-4-054 for changeset 7b760cda2bbf
updated for version 7.4.055
Problem:    Mac: Where availability macros are defined depends on the system.
Solution:   Add a configure check. (Felix Bünemann)
Added tag v7-4-055 for changeset 38a755adc580
updated for version 7.4.056
Problem:    Mac: Compilation problem with OS X 10.9 Mavericks.
Solution:   Include AvailabilityMacros.h when available. (Kazunobu Kuriyama)
Added tag v7-4-056 for changeset 8d83c219fc7b
updated for version 7.4.057
Problem:    byteidx() does not work for composing characters.
Solution:   Add byteidxcomp().
Added tag v7-4-057 for changeset 3109053ce4e3
updated for version 7.4.058
Problem:    Warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)
Added tag v7-4-058 for changeset fa8447ec5823
updated for version 7.4.059
Problem:    set_last_cursor() may encounter w_buffer being NULL.  (Matt
	    Mkaniaris)
Solution:   Check for NULL.
Added tag v7-4-059 for changeset 2a72805a3038
updated for version 7.4.060
Problem:    Declaration has wrong return type for PyObject_SetAttrString().
Solution:   Use int instead of PyObject. (Andreas Schwab)