The fullscreen viewport size is now remembered per-game. Cleaned up viewport calculation and animation logic, fixing a number of further edge-cases with viewport resizing.
Code modernisation.