Initial project structure

## Create the project structure

Some important bits about this:

* Cross platform code always goes in the same directory as csproj files
* Platform specific code always goes in a folder (but don't use that for the namespace name)
* Platform names are whatever NuGet calls the platform, this will come in handy later