VideoSoftware: Added Real XFB support.

Massivly increases the accuracy of VideoSoftware, if it's going to be slow, it
might as well be accurate.

 * Fixes flickering issues in games which double render to get Hardware AA, like the Peach's Castle tech demo.
 * Rouge Squadren 2's Cantina Intro doesn't flicker anymore, but it duplicates the top half of the screen onto the bottom.
 * Any games which need RealXFB support should now work in Video Software
Appease the all powerful buildbot.

Visual Studio's struct alignment #pragma is ugly.
Now Compiles on Visual Studio.

Fixed a PEBCAK issue where a developer was commiting things to git
without checking they actually fixed the issues causing buildbot to
fail.
Fixed nogui build.

ConfigManager.h was being indriectly included into SWmain.cpp, but only
when a gui was being built. So we just include it directly.
Fixed a few issues bought up in code review.
Videosoftware realxfb: Fixed a few bugs while testing Zelda: Collectors Edition

 * Don't force a frame to be progressive if it's already progressive.
 * Don't assume the framebuffer will be 640 pixels wide
 * Remember to offset the Luma channel by 16.
Added a Bypass XFB option to Videosoftware's configuration.

This is useful for testing XFB vs no XFB in videosoftware, for
compatablity or visual comparasions.
Fix a few typos.
Merge branch 'master' into videosoftware-xfb

Conflicts:
	Source/Core/VideoBackends/Software/Src/EfbCopy.cpp
	Source/Core/VideoBackends/Software/Src/SWRenderer.cpp
	Source/Core/VideoBackends/Software/Src/SWRenderer.h
	Source/Core/VideoBackends/Software/Src/SWVideoConfig.cpp
	Source/Core/VideoBackends/Software/Src/SWmain.cpp
Remove c++11 feature so VC2010 can be happy.
Increase res of color texture to match PAL Super Smash Bros: Brawl

The pal version of SSBB has a 640x568 xfb, which is larger than the efb.
Increase the size of the static textures and put in some runtime checks
to prevent buffer overruns.
Dynamically allocate color textures.

Saves ram when the video software backend isn't being used.
Update some of the comments in DriverDetails.h for drivers that have fixed their bugs.
Fix stupid bug in Z16L depth texture efb2ram encoding shader.
TextureConverter: remove implicit int->float convertion

They was used to check if we're writing to the first or second part of one pixel.
So this is now done with a boolean and a ternary operator.
Added a check for a redundant mov in the fastmem writes code.

Fixes issue 6905.
Change the default GFX backend from D3D11 to OGL.

Rationale and discussion:
    https://ml.dolphin-emu.org/archives/dolphin-dev/2014-January/000003.html
VideoCommon: cleanup of "components" usage

This "u32 components" is a list of flags which attributes of the vertex loader are present.
We are used to append this variable to lots of vertex generation functions, but some of them don't need it at all.
Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).

Fixes issue 6875.
Remove vertex streaming hack.

NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.