Merged with Upstream
Updated the AndroidGameWindow to take into account the DepthStencil
format. This is because some devices do not create a depth buffer
by default resulting in weird artifacts when rendering 3D models
Merge remote-tracking branch 'upstream/develop' into win8xact
Fixed an issue in AddSpecular where on certain android gpu's applying
the color.a to the specular wipes out the texture.

The fix is to apply it in two operations.
Merge Desktop SoundEffect into main SoundEffect.
Fix SoundEffect constructor for non-Desktop platforms
Redundant line of code...
Sound.cs is not necessary on Desktop platforms.
Windows and Linux AudioLoaders were identical, move to Desktop Audio.
Shrink one of the SoundEffect constructors.
Fix CreateInstance bug for Windows/Linux
Buildfix for Windows
LoadAudioStream is for OpenAL only
By using the direct method of setting the blend and depth/stencil states we touch less objects and remove the possibility of garbage generation.
Eliminated some garbage creation when updating dynamic vertex buffers.
Merge branch 'd3dgarbage2' into d3dgarbage
Eliminated garbage creation for dynamic index buffers.
Fix strange song bug.
Added Obsolete attribute to GetState overload in Keyboard class.
Added description for my fix in code.