Use pre-populated screen frames (fixes #83, fixes #84)

This should fix some occasional exceptions arising from sandboxed apps.
The exceptions are mostly NSScreen related, and that led to the hypothesis
that grabbing NSScreen again and again may not be a good idea.

We also refresh the frames when we receive the screen-change notification
(NSApplicationDidChangeScreenParametersNotification).