cleaned up: the source code
cleaned up: the source code
cleaned up: the source code
added: KeyboardInputDevice, a base class for keyboard input device classes.

DIKeyboard and Win32StdKeyboard are derived from KeyboardInputDevice.
updated: DIKeyboard
updated: GameApplicationBase

The keyboard input device is now held by a platform-independent base class pointer instead of a pointer to DIKeyboard (the DirectInput keyboard wrapper class).
added: functions to create input device instances for different platforms.
updated: GameApplicationBase::InitBase()

Calls functions to create input device instances for each platform instead of creating platform-specific instances.
split: files for to_string() functions.
added: CustomMesh::DumpToTextFile()
added: GamepadInputDevice, a base class for gamepad device classes.

DirectInputGamepad is now derived from GamepadInputDevice
updated: input device initializers