add utils.darwin.disable_app_nap

disables the App Nap energy saving behavior of OS X 10.9.
Requires PyObjC, which is included in System Python,
but not in many other Python installations.

It is pip-installable, but takes ages to compile.

should close #4431
add appnope to external
use QSocketNotifier, not poll

avoids having to disable App Nap outright.

Also use appnope context manager to disable App Nap on OS X 10.9 while processing events.

Adds IPKernel._darwin_app_nap flag, so that working with App Nap can be disabled, in case appnope causes problems for some.

App Nap is just disabled outright on wx.
Merge pull request #4453 from minrk/appnap

Play nice with App Nap