Feature: implement mouse bindings

A configured mouse binding (for example `bindsym button3 kill`) runs
its command when the mouse button is pressed over parts of a container.

If the binding has no modifer, it will only run when the button is
clicked on the window titlebar.

Otherwise if the binding has a modifier, it will run over the titlebar
or any part of the contained window.

fixes #558
Implement the window::close event

The window::close event should be emitted when a window closes.
Implement the window::move event

The window::move event should be emitted when the window moves position
in the tree.