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.
Also somewhere here we should be setting the `InstanceFrequency` for each slot.  We can probably do this fix once we get a unit test for validating the API works.