Use InitializeCriticalSectionEx for Windows Store or Windows Phone apps

The old InitializeCriticalSection function isn't available in
these API partitions, and the new InitializeCriticalSectionEx
function is only available since Vista, so we want to keep using
the old function for normal desktop code.
Enable use of D3D9 only when targeting desktop apps

Don't try to build this when building for phone/windows store (aka
metro/winrt) apps - this API isn't available there.
Use the right data type for process affinity mask

This allows using the same code on 64 bit windows as well.

Tested on MSVC 2008-2013.
Don't call process affinity functions in windows store or windows phone apps

These functions are only available in the desktop api subset.
Remove VC6 project files

These files are unmaintained and outdated, not even functional
in the initial commit of the project. Additionally, no similar
files are present for the decoder.
Use make patterns to avoid needing autogenerated rules for each source file
Add proper dependencies for the command line binaries

This makes sure that all the dependency libs are built before trying
to link them together, fixing parallel make (which occasionally
failed due to trying to link the encoder or decoder command line
binaries before the libs had been built) and also fixes building an
individual component by e.g. "make h264enc".
Merge pull request #106 from mstorsjo/windows-api-subset

Allow building for the WinRT/Windows Phone API subsets
Merge pull request #115 from mstorsjo/remove-vc6-project-files

Remove VC6 project files
Merge pull request #116 from mstorsjo/make-deps

Add proper dependencies for the command line binaries
Merge pull request #117 from mstorsjo/make-patterns

Use make patterns to avoid needing autogenerated rules for each source file