Support undocking QDockWidgets via extremely horrible hacks

On the one hand, we grab the dock widget from its (Qt rendered) title
bar, which disappears as soon as the dock widget is undocked. On the
other hand, QDockArea is reponsible for moving the QDockWindow just
after it's been undocked. This means that we need to forward mouse
events from the dock widget's window to the dock area's window.
However, the dock area's window never received a mouse down event.
Therefore we need to manually send the mouse dragged and mouse up
events to the dock area's content view.

One less slightly hacky way of doing the same thing would be to forward
the mouse event from QNSView straight to the right QWindow. However,
the mouse-grabbing view (the dock widget's title bar) is hidden, and no
other view would receive any mouse event from Cocoa to forward anywhere.

Change-Id: I61b4989f4dd5a45114bb4088c8d8e58d4d3d99e2