Some laptops will generate an EC event shortly after we attempt to enter
a low power S0 idle state. Since we register the EC GPE as a wakeup GPE
this means we'll wake up immediately. Unfortunately we have to register
that GPE as a wakeup GPE otherwise many laptops won't wake up when the
user opens the lid (and some laptops won't wake up at all). So add some
code to handle EC events while suspended and introduce the concept of
wakeup AML notify handlers. Register the acpibtn(4) notify handlers as
wakeup notify handlers such that we wake up. We'll go back to sleep
immediately if we wake up for any other EC event.
ok mlarkin@, deraadt@