WPF interop support for Windows/DirectX.
Reverted: GraphicsDevice.Initialize() must be internal for Android.
Changed the Serialization attributes on all files employing them to new DataContract Attributes including enabling the DataMember attributes where existing (no new additions, although these should be reviewed where ever DataContract is used)

Also updated project files to include the System.Runtime.Serialisation namespace if not already existing as this is needed to reference the DataContract Attribute
Merge branch 'develop' into develop.datacontract
Merge branch 'develop' into develop.datacontract
Merge branch 'develop' into develop.datacontract
Refactor of how render target bindings are stored.
Added _currentRenderTargetCount.
_currentRenderTargetBindings is a fixed sized array and never null.
GetRenderTargets() now returns copy of array.
ApplyRenderTargets() now copies the incoming binding array elements.
Cleaned up a few unnessasary changes.
A few small cleanups.
Fix the Effect class for PSMobile
Minor refactoring on Effect.cs to better memory usage
Missing change in last commit
Removed unnessasary GL.DeleteRenderbuffers() code.
Tried to make the error checking for FBO a little clearer.
We now correctly detach depth/stencil from the frame buffer.
Merge branch 'develop' of github.com:jalf/MonoGame into develop
Fix the  null reference exception on dispose shaders

fix missed empty collection usage
Merge remote-tracking branch 'upstream/develop' into develop
Merge branch 'develop' of github.com:jalf/MonoGame into develop
Merge branch 'develop' of https://github.com/mono/MonoGame into develop.datacontract
Added Data Contract attributes to types that did not have them previously
Merge branch 'develop' of github.com:jalf/MonoGame into develop