Implement Camera centering and bounds.

Camera is not its own class, but a combination of a few methods.
The centerCamera method in Level should be called each update, passing in
the center of the player unit. This will adjust the viewport to center on
the player without going out of bounds.
SpriteView.DrawSprite takes xCameraOffset and yCameraOffset as arguments
to draw sprites properly. These arguments should be the values of
_viewport.X and _viewPort.Y.