Color management: use fallback mode if there're no displays/views

Before this it was a runtime check for number of displays/views
which is rather really annoying.

This simplifies code a bit and allows to do some more tricks
in other patches.
Fix possible crash when cleaning cache with some ibufs removed by the memory limit
Better fix for previous commit

Cache iterator might return unused keys as well.
Now unused keys are being removed before cleanup
and iteration.
UI: Tabs categories for panels (D75)

- works by defining panel categories, currently restricted to the toolbar.
- no panels define bl_categories yet, so no user visible changes since tabs only show when there are multiple.
- panel pinning is available in rmb menu or alt+lmb.
UserDefaults: disable orbit around object center and region-overlap

both have bad side-effects with strange behavior and viewport performance
Fix for out-of-bounds memcpy() when adding a material
Better handling of new libnames of OpenEXR 2.1 (same solution as one used in OIIO/OSL source).
More slangs and other spellchecking exceptions...
UI: don't attempt to draw with the menu-key when only drawing right aligned
Fix for possible NULL pointer use in brush image sampling
Py API: use direct access to list/tuple size when type is known
Fix for obscure freestyle crash when attempting to negate INT_MIN

This gives undefined behavior - in my case stays the same value and crashes.

Check for finite input resolves the issue.
Fix crash in freestyle vector parsing (hard to believe nobody noticed)

Vectors were being assigned as an array of classes in Vec2f_ptr_from_PyObject and similar functions,
rather then assigning a number to each axis.
Partial fix for T37604: Deadlock when stopping rendered viewport (Blender Internal)

- Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS macros cannot be used here, because the Py_BEGIN_ALLOW_THREADS causes a crash when quitting Blender.
- The low level function PyEval_ReleaseLock() is used assuming the Python library was built with multi-threads support.
Fix for crash in toolbar tabs with only one tab defined
Fix T37103: Keyframing custom properties issue (FCurve would not reflect Custom props type changes).

Add an helper func to re-compute integer-only fcurve flags, and call it when editing custom props.

Reviewed by aligorith, thanks!

Summary: Proposal fix for "keyframing custom properties issue" (T37103).

Reviewers: aligorith

Maniphest Tasks: T37103

Differential Revision: http://developer.blender.org/D111
Cycles / OpenCL: Fix compile error on OS X

After update to Mac OS X 10.9.1, OpenCL works now on my Intel CPU in the 2013 Macbook Pro (even the entire kernel).
The Intel Iris Pro GPU still segfaults here though, even when all flags are disabled (building "clay like" kernel only).

Maybe we need the -no-missing-prototypes for AMD hardware still, but I couldn't find a way to distuinguish here.
Fix bplayer broken in own rB51f5c994e9f0.
'Transform' Python Function for armature, curve and lattice.

patch by Paolo Acampora with some edits.