Ensure foreground context is current on the main thread

Background must be non-current, otherwise it will raise error 170
(resource is in use) on the next MakeCurrent() call.
Merge pull request #2477 from thefiddler/fix2474

Ensure foreground context is current on the main thread
Fixing SynchronizeWithVerticalRetrace on WindowsGL, it is applied in ApplyChanges instead of immediately (which fails if set in Game constructor)
Remove VSyncEnabled as it is just overwriting what we set from GetSwapInterval. It was only used by the OpenTK Platform.