Screen/OSX: Replace ATSUI text renderer by CoreText text renderer.

ATSUI is deprecated since 10.6 and difficult to support on 10.9+, so
let it die.
Screen('DrawText') for OSX specific textrenderer (type 0 and 1)
reimplemented by use of CoreText framework. Additional code cleanup.
As a little side effect, the CoreText renderer now supports
Screen('TextModes') which never had any function in PTB-3 and it
supports "underlined" text style - in theory, as i couldn't find any
font which actually supports that. As another bonus, the renderer can
now handle the "Kuenstler LT" script font which was so painful to use
in the old implementation.

-> Screen and FontInfo for 64-Bit Octave and Matlab on OSX rebuilt and
tested.
OSX: Transition fontglue from ATSUI to CoreText.

Remove all ATSUI based code for font enumeration and replace by
CoreText equivalents. This incurs some loss of information, as CoreText
doesn't expose some stuff ATSUI did:
* No QuickDraw name of the font anymore, instead an empty string.
* Some entries in the font metrics are now missing: avgAdvanceWidth,
minLeftSideBearing and minRightSideBearing, stemWidth and stemHeight.
These are now returned as zero.

-> Screen and FontInfo for 64-Bit Matlab on OSX rebuilt and tested.
OSX: Optimize/Reduce execution time of CoreText font enumeration.

Full query of all font properties, as reported by info =
FontInfo('Fonts'), is very costly in terms of execution time. It
requires to open->query->close every single font file to retrieve some
properties like font metrics etc. Most of the information is only
needed by FontInfo(). Screen() only needs the font family name and font
style descriptor for selecting a font via Screen('TextFont') [Selects
by font family name] and Screen('TextStyle') [Selects by style symbolic
traits descriptor], and the postscript name of a font for
Screen('DrawText') [Selects font to open/use for drawing via postscript
name]. Luckily the minimal information required by Screen() is also
available in the CTFontDescriptor's returned by the font database
without need to actually open the associated font file. Take advantage
of this: If enumeration is executing within the context of Screen() mex
startup, only perform cheap CTFontDescriptor queries but skip expensive
font open->query->close detailed queries. This saves a lot of startup
time on first load of Screen() mex after startup/clear Screen:

Before: 14-15 seconds for Screen initial startup on a 2010 MacBookPro
with OSX 10.9
Now: 0.137 seconds -> Over 100x faster -> Essentially not noticeable by
user!

-> Also cleanup a few now unused ATS and FM varirables from fontstruct.
-> Also simplify DrawHighQualityUnicodeTextDemo. No need for use of
FontInfo for defining japanese fonts anymore - font family is now
always ASCII encoded. Faster!

-> Screen and FontInfo for 64-Bit Octave and Matlab on OSX rebuilt and
tested.
Screen/OSX: Release font database at flush time.

Was missing a call to PsychFreeFontList() to cleanup font database at
clear Screen time, causing a memory leak over all these years! A small
one though...
-> Screen for Octave and Matlab on OSX rebuilt and tested.
Screen/OSX: Optimize font switching a tiny bit more.

Cache the CTFontDescriptorRef in our font structs and select the font
in Screen('DrawText') directly from the font descriptor, instead of
going through postscript names. The speedup is insignificant though, in
the low microsecond range.

I also checked were most of the time during font enumeration is spent.
It is not in opening the CoreText font, but in querying font metrics
like ascenders, descenders etc. These queries apparently trigger an
iteration over all glyphs in the font file to compute those properties
and that takes up over 96% of the processing time, accounting for about
14 seconds of the 14-15 seconds startup time in FontInfo(). Anyway,
these metrics queries are mostly unavoidable if FontInfo() is supposed
to be useful for much, so we'll have to live with this.

-> FontInfo and Screen for 64-Bit Matlab and Octave on OSX rebuilt and
tested.
Merge branch 'osxcoretext'

This completely switches the OSX implementations of Screen and
FontInfo from old and deprecated FontManager + ATSUI to the new
and shiny CoreText Framework.

This was neccessary due to switch from OSX 10.6 "Snow Leopard"
SDK to OSX 10.9 "Mavericks" SDK to future-proof us here.

This means that OSX 10.6 as a minimum supported version is now
a hard requirement, as this code would not build on 10.5 and
earlier anymore.

Downsides of new implementation:

* 'QuickDraw' font name is no longer reported by FontInfo().
* Some font metrics are no longer reported by FontInfo().

Upsides:

* Future-Proof (until Apple does its next crappy move of course).
* More exotic fonts like "Kuenstler Script LT" now work with default
  renderer.
* Screen() startup time drastically shorter due to much faster font
  enumeration for Screen: 15 seconds to 0.13 seconds.