Improve long-press support

When starting a drag, set the dragged item to be not pressed before
taking a snapshot of its drawing cache.
This fixes the problem of the dragged item sometimes being highlighted
or invisible, depending on when you started the drag.

Add support for only starting a drag with a long-press. This allows you
to use the whole item layout as the drag handle but still let scrolling
work. Apologies for the name of the new attribute enumerator: using
"drag" makes aapt segfault because it has the same name as an existing
ID.

Start differentiating horizontal and vertical drags. This means that
when you have a remove handler but no drag handler, a vertical drag
still scrolls the list, but a horizontal drag can remove the item. This,
again, is especially useful when the whole item layout is the drag
handle, and makes the list work like Android's recent apps list. More
work is needed to distinguish horizontal and vertical drags when both
are enabled.

Add a demo for long-press-to-sort.

Add some text in the readme about (a) the new sort_mode attribute, and
(b) complications of having the drag handle be the whole list item.
Major update: allow DSLV customization

Customization is the theme of this commit. Previously,
DSLV forced many design decisions on the developer
(e.g. how a drag starts/stops, how you remove an item while
dragging it, how the floating View appears). This commit
removes those restrictions by beefing up the DSLV API. However,
the conveniences of DSLV have not gone away. Two new classes
implement common design requests (long-press to drag item,
fling to remove, etc.): DragSortController and
SimpleFloatViewManager.

New public API goodies are few, but relinquish loads of design
control. They include:

  1. startDrag() and stopDrag() methods on DSLV
  2. FloatViewManager interface for customization of floating
View.

Examples and README have been extensively updated to explain
and showcase the new features.
Merge branch 'orac_click'
Fix XML controller default; README fix
Link to API docs
README quick fix
README quick fix 2
Fix #40: start position drop fails
Example of floating View control

The new example in demo/ called Sections demonstrates how one can
restrict movement of the floating View within the list using
the FloatViewManager interface.
Make item layout current for onDragFloatView

User updates of the floating View performed in the
onDragFloatView callback may rely on the positions of
the items in the ListView (e.g. when drags should be
limited to a subset of the list). This commit makes
efforts to guarantee that the item positions are
updated and in the most recently-requested state
before the callback is invoked.
Cleanup and restore float bg color xml option
Add DragSortCursorAdapter helper classes

These classes take care of virtualizing the reordering of
data coming from a Cursor. They act just like the
CursorAdapter, ResourceCursorAdapter, and SimpleCursorAdapter
classes from the android library.

Also, since it is common to implement the drag-sort Listeners
as part of a custom ListAdapter, DSLV now recognizes if
the ListAdapter given to it implements a Listener interface.
If so, the provided ListAdapter replaces the current
Listeners.
Documentation of DragSortCursorAdapter
Add doc-builder tool
Added Project Object Model for Maven2