libgui|MouseEvent: Include position in button events
libdeng|Widget: Added generic event routing mechanism

A Widget can now be configured to route specific types of events
to a particular widget. This is for the purpose of redirecting, say,
all mouse events temporarily to some widget.
Client|GuiRootWidget: Routing all mouse events to a widget
Client: Offer all mouse events first to WindowSystem

The events will be given to the legacy input mechanism if the new one
doesn't want them.
Client|GuiWidget: Utility for handling a mouse click sequence

A mouse click sequence consists of pressing a button on the widget
and then releasing the button either inside or outside the widget.
Client|Widgets: Use the mouse click utility in Button and LineEdit widgets

Also cleaned up the ButtonWidget implementation and allowed
LineEditWidget to receive events even though not in focus (for mouse
events).