Stop window opening and closing 3 times on startup

Caused by calling setMode several times. Fixed by making a wrapper
function which only calls through to setMode if the requested mode is
not already set.
Amend the screen-spasm fix to work for fullscreen

There should now be no screen spasms in windowed mode, and a minimal
number of them in fullscreen mode (given the Love setMode bug).

See the Love commit that will fix the bug in 0.9:

  https://bitbucket.org/rude/love/commits/0796a95d36d0/
Merge pull request #1657 from robin-allen/fix-window-spasm

Stop window opening and closing 3 times on startup