Initial commit

Minimal input support. Still lots to do. Includes Visual Studio solution
(to be replaced with cross-platform Shake build system)