Given that the project currently has a large number of csproj file and no automated way to generate the csproj files for each target, manually maintaining the build is much simpler when the source for each project resides in a single file.  Single files are advantageous in terms of open source distribution too.  Historically all source was spread across hundreds of cs files, it was hard to manage so the Abacus approach of generating a single source from t4 templates was adopted.  This make the build easier to manage however it made making changes hard.  This branch is to trial working with single source files per project and no t4 templates.
Comment fix.
Whitespace.
Improved readability.
ruler column: 120
Improved some documentation.
Formatting.
Improved comments and gamepad abstractions.
Formatting and a few API changes.