Add .gitignore
Order source files by platform
Replace Make with Ninja

Make doesn't support spaces in file names. Ninja does. The only caveats I've
come across with Ninja is that it doesn't support environment variables and
isn't able to set global variables at run time. This makes for more verbose
build files since we need to define the same targets for both debug and release
modes.
Update README.md