UI: Fix bug with xinerama on linux

Refactor the screen enumeration code a little to make sure xinerama is present
and active before using it. If the extension is present but not active it will
no longer fail.
Merge pull request #313 from fryshorts/xinerama-fix

UI: Fix bug with xinerama on linux