Draggable button to display debug menu

Not as important in this particular case, but generally, delegate protocols should convey that something happened within the caller, and let the delegate decide what to do in response. Makes for a much more flexible interface.