Added a VirtualViewport to help with keeping the aspect ratio and
handling a fixed viewport.