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
Support SMPTE as input for 'time' fields when unit is set for the scene

Summary:
If you turn SMPTE as the time unit in the scene settings all the time buttons will
display their value in SMPTE.

You can also input SMPTE values:
* 1h3s4
* 1:0:03:42

More on SMPTE:
http://en.wikipedia.org/wiki/SMPTE_timecode

Individual commits log:
-----------------------
* Support SMPTE display when entering a button

* Add parser to remove leading 0 from smtpe (because blender doesn't understand leading 0)
01:02:03  --> 1m2s3

* Add a time unit 'frame' that does not apply any scaling factor
(values entered in the UI are left unchanged)

* Added a B_UNIT_DEF_NOSCALE flag to bypass scaling.

Code mirrored from:
https://github.com/dfelinto/blender-git/tree/smpte

Individual commits on:
https://github.com/dfelinto/blender-git/tree/smpte-development

Patch by me and Benoit Bolsee developed for a 3rd party project.

Differential Revision: http://developer.blender.org/D71
smpte: addressing 1st review round

handle division by zero and other issues when fps is < 1
cleanups (pads in DNA, bool over char and remove #ifdef)