Enable waiting on vsync.

This greatly reduces the CPU usage, at least when in foreground (ironically, on Mac, the waiting is disabled when the window is not visible, so that uses more CPU!).
Fix the broken fades.
Remove friend declarations from Palette.