Allow dragging image layers

Creates a tool which allows the current image layer to be dragged with the mouse.
Ah, please still fix the placement of the `*`. I had edited my comment to mention that so it wasn't in the mail. Should be:
    if (ImageLayer *layer = currentImageLayer()) {
There's a few places that need this correction. Otherwise I think it looks quite fine.