An Android View that coordinates drag and drop, and constrains the drag to it's own boundaries