Recreated Drag code to make it much nicer

Is now an internal part of input.cs, everything that was broken still
is, with more bugs besides! Oh, what fun!