Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Fix for bug 1196.

This bug would cause the player to jump when jump was assigned to
Space and they closed a dialog with Space. I tested vanilla
MW for behaviour and found that Jump was the only basic input which
MW does not allow when closing dialogs (i.e. if Space is assigned to
move forward, MW will move you forward after closing the dialog).

There were two reasons for the bug:
1) OpenMW GUI does not consume UI events
2) Jump occurs so long as key is down (not only on first key down)

To minimally fix the bug, I made it so that keypress events can be
consumed by the GUI and not passed along to the player control
input manager (1). However, if the player holds space, they will still
jump (as the subsequent key held events will be captured and cause
a jump).

Unfortunately, there is no idiomatic way that I could find in the
OpenMW input manager to perform events only on key down. Instead,
I introduced a variable which tracks whether the jump key has been
pressed for the first time within the current frame (2).

Note: I was initially concerned that limiting the jump event to
KeyDown and not Key Hold would cause issues with swimming,
levitating, or variable height jumping. However, after a bunch
of testing in vanilla MW and exploration of the OpenMW codebase
I could find nothing suggesting the need to capture the jump
key being held.
Merge remote-tracking branch 'upstream/master'
Update in response to comments.

It turns out I was erroneous about problem (1) in my original commit
message. I thought that in an edge case the OpenMWGUI could both handle
the same event on the frame the GUI was closed. My test for
this was broken. So after brainstorming many possible unsatisfactory
solutions to this event handling, it's luckily not necessary!
1196/1217 fix

Fixes an issue where inputs could be processed by both GUI and
gameplay systems. An enabled/disable has been added to OIS
channels, and OpenMW now disables player gameplay hotkeys when
a GUI element has focus. GUI hotkeys are left enabled.
Merge branch 'master' into bug1196jumpdialog

Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
simplified feature management for record tables
Small changes for compiling with MSVC 2013.
Remove #ifdef guards.
factored out command creation from table view into a separate class
some general cleanup; fixed two cases of dialogue subviews that allowed creating records where they shouldn't have
some UniversalId cleanup and enhancements
simplified Data constructor
Made recommended changes

Maybe introduced a bug not allowing punching. Testing.
Alternative fix strategy by checking for binding state
Merge branch 'bug1196_alternate' into bug1196jumpdialog

Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
Added A_Use command to player controls.
replaced selection model in CommandDispatcher with a slightly slower but more robust implementation
removed some hardcoded column numbers