make ScreenPlayerOptions more DRY

This creates a "ScreenPlayerOptions common" that contains code shared by PlayerOptions and PlayerOptions2.  Previously, the code was duplicated across the two.