Laying out input

Added the Delegate class that requires C++11 for variadic templates.
Boilerplate for the three main input devices.