Refactor|libgui: KeyEvent class

KeyEventSource now produces an instance of KeyEvent.
Refactor|Client: Pass key events to window system, widgets

The key events produced by the Canvas now are passed to the window
system and therefore widgets. Now widgets are able to immediately
process keys when an event is received.
Cleanup|Client|Server: Removed con_bind.h (obsolete)
libdeng2: Added Action, a base class for UI actions
libgui: Cleanup
Refactor|libshell: Derived shell::Action from de::Action
Refactor|Client: Added InputSystem, CommandAction, WidgetActions

InputSystem is a System that governs the input devices and produces
input events.

CommandAction is an Action that executes a console command when
triggered.

WidgetActions is a database of actions bound to specific widget(s) /
binding contexts (transitional component).
libdeng2|Cleanup: Removed LegacyCore as obsolete and unnecessary
Refactor|libdeng1: Use revised libdeng2 C wrapper functions
Cleanup|Server: Removed LegacyCore
libgui|FluidSynth: Updated for revised libdeng2 C wrapper
Cleanup|Client: Removed LegacyCore, use revised libdeng2 C wrapper
Fixed|Shell: Ambiguous use of the Action class
Cleanup
Cleanup
Refactor|Client: Allowing Widgets to use the bindings system

In the future the bindings system and widgets will be refactored into
a more integrated whole, but for now we just want Widgets to be able
to specify actions via event bindings.
libgui: Added stubs for GL classes, with basic implementation for GLBuffer

These classes encapsulate the GL(ES2) API for managing GL state,
textures, shaders, and buffers. All use of OpenGL will go through
these classes -- no direct OpenGL API calls should be done outside
libgui.
Merge branch 'master' into ui-framework
Fixed|Weapon Info: "Static" psprites (weapon offset scale)

When drawing psprites, the weapon offset scale that is used for
preventing the lowering of the psprite was not applied as intended:
WEAPONTOP cannot be ignored as that is the highest offset that the
psprite will reach (non-zero).

Todo for later: Make WEAPONTOP a DD_value so that it doesn't have to
hardcoded.
libdeng2: Added an operator+= for Block with IByteArray argument