I re-wrote the renderer from scratch. (It's not merged yet, still need to fix animating tiles and some other bugs, but static tiles do work.) The new API is to be used like this:
// I am hoping that we can later create an OrthographicCamera class which is responsible for calculating the view AND projection matrix.
var viewMatrix = _camera.GetViewMatrix();
var projectionMatrix = Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width,
GraphicsDevice.Viewport.Height, 0, 0f, -1f);
_mapRenderer.Begin(ref viewMatrix, ref projectionMatrix);
foreach (var layer in _mapRenderer.Map.Layers)
@Fadel_Fadel Let me know if this API is not going to work for you and we can talk about it.