Fix T37694: cycles particles emitter object rendering when it shouldn't.

This was broken by a recent bugfix for T37159.
Node Previews:
Removed USE_HIDDEN_PREVIEW from source code as it is now deprecated.
The feature was introduced during project mango to quickly hide previews, now that the previews are hidden by default this feature has no need.
Inside the DNA the flag is still visible in comment, this way no one will reuse that value as it could have some side effects

Jeroen & Monique
 - At Mind -
Missed one usage of use_hidden_preview.
add new UV editor edge theme colors to preset themes
Fix T37753: encapsulated the creation of the source ID into one function to ensure the id is always created correctly
Python API: when OIIO is disabled use the same version format.
DNA Deprecation: add DNA_DEPRECATED_GCC_POISON for enum/structs.

also fully remove freestyle raycasting_algorithm
CMake: report messages as status (else ccmake treats like an error)
Style changes to refactor commit.
Style Cleanup
Fix for fix: Paths and copying object

Fix for T37471 made path copying modify local paths,
now apply the same logic used for save-as.
Mempool/Memarena: hint for unlikely conditions
Fix for off-by-one regression in D41

making the window larger was using incorrect factor leaving a black bar
on the window edge.
Screen Resize: minor code cleanup
Fix T37463: Increasing window size would add space around menu header
fix: Fly Navigation centered in viewport, not in camera view

Summary:
The safe zone, mouse and everything else was relative to the viewport.
It should be relative to the camera 'view' instead.

This problem (noticed while developing the Walk Navigation)
happens when the camera is not centered in the viewport.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: http://developer.blender.org/D78
Fix T37739: uiList drag-resize was not working as expected outside of panels.

Patch by Brecht, with minor edits by myself, thanks a lot!

Tech details: previous drag-resize handling code was based on the assumption that coords
returned by ui_window_to_block() was relative to the bottom on the uiBlock.
This is in fact completly eroneous, usually this func does not translate at all the coords,
it merely rescale them - except for blocks inside panels, where returned values are relative
to the left/bottom corner of the panel... Pretty confusing, solution for now is to store ref mouse
position in window space, and convert them to block each time, just like current mouse pos.
uiList: Small tweak to drag-resize (switch to auto-size mode).

When you drag past the smallest size of the list, it switches back to auto-size mode.
This commit makes wider the gap between smallest size and auto-size activation,
previously it could switch to auto-size a bit too easily...
Nodes UI: add the position field to the color ramp node.

Reviewed By: dingto, brecht

Differential Revision: http://developer.blender.org/D91
Fix T37704: cycles hair render error with hair density vertex group.

Zero length hairs were causing problems, now it skips rendering them as they
are invisible anyway.