DRY up some vcxproj cruft

Changes the output directory for all the projects to be dependent on the
target platform (which is really the architecture, but that's a story
for another time).

Also makes all the vcxproj files use variables for the output directory so
changing it isn't so painful next time.