Blender Internal: Fix material preview that the bounce lights permanently disappear once volume material is used.
Fix T37624: Rename Marker does not update Marker in 3D View until Frame Change

Was simply missing notifier listener in 3D viewport.

Also fixes missing refresh when adding a marker.
Fix own regression in rB254aa8f3a0fb: Titles and sub-titles in menus were drawn shifted to the right.

Reported by plasmasolution over IRC, thanks.

Also fixes wrong handling of "sub-titles" with icons in EnumO menus (they were just treated as text-only ones).

Dev notes: in fact, that clean up commit revealed kind of an "hidden bug that happend to work well"
(or at least, a very bad hack): with titles without icon, code used to use uiItemL with ICON_NONE.
However, as the root layout is a menu one, internal ui code would add a dummy blank icon,
and set UI_HAS_ICON flag for the label button. But in the affected menus, code afterward assigned
UI_TEXT_LEFT to but->flag, thus erasing the (internal) UI_HAS_ICON. As UI_TEXT_LEFT was moved to
but->drawflag, the internal flag was no more erased, and the fake icon was drawn, creating that
shift-to-the-right effect. Turns out we do not even have to set UI_TEXT_LEFT in these cases,
just add label buttons without icon is enough!
Math library: minor additions sqrtf_signed and copy_v2_fl2
Screw Modifier: copy face data when the original face is known.

also de-duplicate code for handling the closing face strip.
Screw Modifier: UV support

- When existing faces are available use their UV values
- When no faces are connected to an edge - generate UV's

Also add option to stretch U/V to bounds.
Fix T37627: create scene with copy settings did not copy cycles settings.
Fix T37541: multires not reading external displacement file after entering edit mode.
Fix T37632: Wrong tooltip for "Motion Blur" on mask node
Fix T37303, Fix T37163: cycles mask layers that are also excluded not rendering
correct with multiple render layers.

This case is somewhat weak, we now do a few more checks on sync than I would
like, but it's not too bad.
Fix mistake in last commit with submodules.
Fix T37633: duplicate value GPUDynamicType could cause GLSL render issues.
Fix T36976: drag and drop tooltip not working with retina and drawing off
screen near top of the window.

The code here was not updated for retina / DPI changes yet. The tooltip also
could draw off screen when dragging to a button at the top of the window, now
it places the tooltip lower in such cases.

Offscreen drawing fix is based on patch by Antony Riakiotakis.
Fix T37583: regression in bmesh triangulate breaking python's use of face_map
Fix T37636: double added pyattr_get_lights
Fix T37121: decimate works badly with flat surfaces
View Navigation: Walk and Fly modes

Summary:
This is a replacement for the dynamic fly mode.
It behaves as the first person navigation system available
in most 3d world  games nowadays.

Shortcuts:
----------
Shift+F      - Start View Navigation operator
Ctrl+Shift+F - Stat old Navigation operator
WASD (hold)  - Move forward/backward and straft left/right
QE (hold)    - Move up and down
F            - Fly mode
R            - Walk Mode
Tab          - Alternate between Walk and Fly modes
Shift (hold) - Speed up movement
Alt (hold)   - Slow down movement
Space        - Jump (teleport when in fly mode)
T            - Teleport

User Preferences Options:
-------------------------
Navigation Mode   - fly/walk navigation systems
Mouse Sensitivity - sensitivity factor to mouse influence to look around
Teleport Duration - how long the duration last
Camera Height     - camera height to use in walk mode
Jump Height       - maximum jump speed in m/s
Move Speed        - base move speed in m/s
Boost Factor      - multiplication factor when running or going slow (1/boost)

Development Notes:
------------------
* The initial code was based on view3d_fly.c.
* The NDoF code was not touched, so it most likely is not working.
* I removed the deacelerate/accelerate code.

Pending Issues:
---------------
* The axis roll correction is disabled (it was affecting the move around code.
* Draw in the UI the shortcut options, and current values (e.g., Mode: Fly/Walk)
* We can rename Fly to Free, so Walk/Free Navigation is provided by this code, and Fly can use the old code.
* They would need to be integrated as one operator somehow (the code can be merged, but to evaluate whether it's worthy).

Reviewers: ideasman42

Differential Revision: http://developer.blender.org/D30