Implemented GraphicsDevice.SetVertexBuffers(...)

This is a re-write of PR#1767. I say re-write because GraphicsDevice.cs has changed so much since that PR that I had to handle each changed block manually.