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
Fix bounded to element position calculation.

Use offset() instead of position(). 
Also check that the bounding element exists before using it's offset (to avoid undefined
exception)
Fix original position of the dragged element
Optimize calculation of the boundary of the movement
Rewrite horizontal movement calculation.

The increase and decrease of the horizontal level is now based on dragged element
left position.
Each level is specified by a spacing distance (in pixel, customizable as "data-spacing"). A
spacing threshold is computed based on this spacing (spacing / 4).
Now, when the left position of the dragged element is around the parent position +- 
the spacing +- the spacing threshold, it's level is increased/decreased.

You just have to specify the spacing parameter according to your tree style (so that the
visual is approaching the calculation).
Remove an useless variable
Improve vertical placement calculation.

The vertical position is now determined based on the dragged element position
compared to the other element position.
If the top of the dragged element is below next element middle position, then the
dragged element is positionned after it.
If the top of the dragged element is above previous element middle position, then the
dragged element is positionned before it.
Merge pull request #214 from clementprevot/master

Solve #136 "Easing to determine sorting intent better and provide a better dragging experience"
Revert "Solve #136 "Easing to determine sorting intent better and provide a better dragging experience""
Merge pull request #215 from JimLiu/revert-214-master

Revert "Solve #136 "Easing to determine sorting intent better and provid...
Revert 8332e2f..a4eab8d

This rolls back to commit 8332e2fee8b987ea0da91b8e158cb3eebbd6e8d9.
Remove usage of jQuery and use helper instead
Remove all usages of jQUery's offset and use $uiTreeHelper instead
Also fix and "undefined" exception
Add missing scope parameters in the pull request for spacing