Implemented GraphicsDevice.SetVertexBuffers(...)

This is a re-write of https://github.com/mono/MonoGame/pull/1767/. I say re-write because GraphicsDevice.cs has changed so much since that PR that I had to handle each changed block manually.
This is probably the worst way to do this... but it is ok for now.

There is a `InputAssembler.SetVertexBuffers` that takes an array of bindings.  We should add a TODO here to fix that.