SpriteBatch improvements

This is rewrited version of https://github.com/mono/MonoGame/pull/3290.
Without any formatting and regions.

 PS. Parameters is now named like in XNA.
Actually how we had it before `Begin()` simply called the other `Begin()` passing it a `Matrix.Identity`, so there should be no performance difference here at all really.