Added MouseHandler for moving blocks with mouse.

Handler is still under development. Mouse swipe only moves block by
single square.
Mouse-controlled horizontal block movement fully implemented.
Input handlers now bind to root panel.

This prevents odd behaviour occurring when a user presses down on the
mouse over the canvas, but releases the mouse outside of the canvas
(even if only slightly).
Added double-click to rotate piece.
Can now drag down blocks with the mouse.
Fixed mouse controls to work with left-click and not right-click.
Added ability to drop piece using double click.

Rotation now uses the right mouse click. Disabled the context menu from
appearing above the canvas.