Minor
Make hb_object_t members private

In preparation for fixing:
https://code.google.com/p/chromium/issues/detail?id=403594
Remove this==NULL check from face->reference_table()

Not supposed to happen, and apparently this is undefined in C++.
https://code.google.com/p/chromium/issues/detail?id=403594
Rewrite this==NULL checks to avoid undefined behavior

Fixes https://code.google.com/p/chromium/issues/detail?id=403594
Fix build on clang after previous commit
Revert "Fix build on clang after previous commit"

This reverts commit 9c80cbc87f23040a334e30c750f64523d9ef10c8.
Really fix clang build this time
Simplify hb-object
[coretext] Hide feature_mappings
Fix check-symbols on OS X
[win32] Avoid preprocessor warnings re macros
[ot] Prefer Windows platform cmap tables / accept all Unicode encodingIDs

Some fonts on the Mac ship with (0,1).
[arabic] Allow disabling win1256 fallback code

By defining HB_NO_WIN1256.
[arabic] Don't #include __FILE__

Fine!

https://code.google.com/p/chromium/issues/detail?id=406957
Fix build
[ot-font] Start adding vertical support
[ot-font] Add metrics_accel_t
[ot-font] Handle missing vertical metrics tables
[ot-font] Minor
[ot-font] Add hb_ot_face_cmap_accelerator_t