Rewrote DirectInputEmulator

Replaced the Send___ methods with a number of methods which generate
INPUT[] objects and a SendInput method which transmits them. This allows
us to more flexibly support combinational keypress emulation (including
pressing keyboard and mouse buttons simultaneously).
Refactor CommandChunks\* and CommandPool

Updated to make use of new DirectInputEmulator API
Add common US keyboard layout keycodes
Switch to using Shift+F_ for team selection
Allow specification of default language #50
Better "No Recognizers" error message
Better detection of the correct recognizer to use for the current user's culture
Better error message for invalid recognizer
Updated culture selection and recognizer instantiation #50
Version bump to v0.2.2.1
Further fix for default language #50
More error info for speech recognizer failure
Merge pull request #49 from Mpstark/feature/directinput

New DirectInputEmulator
Fix missing spaces in en.slt

Fixes #56
Switch to an Operations paradigm for output

Allows considerably more flexible output designs, allowing for
non-traditional outputs and the ability to easily manipulate and extend
existing outputs without needing to know the type of output beforehand.
Update all relevant code to use new OutputBase

Allows existing code to take advantage of the new output engine. Also
poses the possibility of avoiding the need for a separate output thread
altogether given the availability of async output methods.
Execute commands using async

Avoids the need to spawn a new thread for each processed command,
simplifying matters greatly and probably helping performance marginally.
Didn't notice any deadlocks during testing (even with long commands), UI
remained responsive etc.
Add German Translation by Alpha-Kilo

Fixes #54, Fixes #55
Fix text overflow on Main Window
Fix clicking on invalid links

Should no longer result in an application crash
Merge remote-tracking branch 'origin/development' into feature/output_operations