Add virtual power switch

1. Add virtual power switch (sleep after the very first power cycle)
2. Fixed: cannot wakeup after sleep