fix(draggable): bind drag events to $document

$body won't receive mouseup if the cursor is outside the browser window, $document does
fix(gridster): Removing previously added style tags before adding new one.

Hopefully fixes #211 and #294.
fix(draggable): fix offset during drag

when the scrollX/Y is changed during drag (e.g. by the mousewheel)
the offset wasn't correct
fix(draggable): replaced scrollX/Y with scrollLeft/Top

window.scrollX/Y is only available in Chrome, not in IE
fix(gridster): fix add_widget to use correct size_y when adding rows
fix(draggable): handle both touch and click events

Fixes #207, #236, #329, and #380
Release 0.5.2
chore: move sorting methods in prototype to the constructor

Useful to use them when we there is no gridster instance, like sorting
a previously stored output from the serialize method.
style: some formatting changes
feat(gridster): move widget up when added if there is space available
fix(gridster): sort widgets appropriately when reading them from DOM
feat: make gridster AMD compatible
feature(gridster): added `auto_init` config option, default to true

Useful when using `positionschanged` event, fired before gridster
instance is cached.
chore: add reference to defaults in constructors
fix(gridster): custom `ignore_dragging` overwrites the default value
Release v0.5.3
fix(gridster): serialize returns an Array object, not a jQuery object

Fixes #394
Release v0.5.4
fix(gridster): fire `positionschanged` when widget orig position changes

Until now `gridster:positionschanged` was being fired only if the widget
was moved up, but we also need to know if position is different when
`avoid_overlapped_widgets` is set to true (by default).
Release v0.5.5