Added a minimal implementation of droppable – only a constructor and something that adds the default droppable class.
Made the draggable/droppable specs read more like a sentence.
Moved the utilities into a superclass. Moved the requestAnimationFrame polyfill back into Draggable (Droppable won't need it).
Put the drag handlers in the correct order. That was driving me crazy.
Coffeescriptified the way we declare classes.
Moved the config memoizer into the base class.
Stack draggables atop draggables in the example.
When a draggable is in the air, we prevent it from receiving pointer events. This is the secret to being able to perform mouse-event-based hit detection on droppables, without resorting to reading the offset of every droppable.
Draggable now broadcasts to interested objects that a draggable has been lifted/dropped.
Droppable isn't much use without draggable. Throw an exception if you try to use it without.
Dragging a draggable atop a droppable now causes the droppable to acquire the hovered class.