Add: pass the `click event` to beforeDrag handler.

Offer the ability to handle the click event outside the box which is
very important such as using for `event.stopPropagation()`.
Update default cursor to pointer instead of move
Really start the drag only after the delay (if any given)

Before this fix, the element was not movable but the style was changed and the event
prevented.
It's now possible to use normally the event until the drag delay expires. Then the drag
really begins
Add a "dragDistance" parameter to defer drag based on the distance of the drag

When starting the drag, the distance between the origin of the drag and the current
position of the mouse is computed. If this distance is greater or equal to the drag
distance, then the drag is enabled.
Add "lockX", "lockY" and "boundTo" parameters to constrain movement.
Also constrain the maximum right position to the right of the dragged element.
Also constrain the maximum bottom position to the bottom of the handle of the dragged
element (or the old maximum bottom position if no handle is found).

lockX constrain the dragged element to move only vertically (lock the horizontal/X
position).
This parameter is a boolean "true/false".
Example : 'data-lock-X="true"'

lockY constrain the dragged element to move only horizontally (lock the vertical/Y
position).
This parameter is a boolean "true/false".
Example : 'data-lock-Y="true"'

boundTo constrain the dragged element to any given element. This parameter accept
a string selector that uniquely identify any DOM element.
Example : 'data-bound-to="'#my-parent-element'"'
Merge pull request #209 from ibigbug/pass-event-to-beforeDrag

Add: pass the `click event` to beforeDrag handler.
Merge pull request #212 from clementprevot/master

Add new parameters (dragDistance, lockX, lockY, boundTo) and fix dragDelay
Merge remote-tracking branch 'upstream/master'

Conflicts:
	source/controllers/treeCtrl.js
	source/directives/uiTree.js
	source/directives/uiTreeNode.js