I was going through the cufflinks source and it looks like you can improve the battery life by utilizing the idle sleep mode instead of actively running the CPU clock in the delay section. Is there any reason your not sleeping to preserve power between PWM value switches?
Basically you are delaying for about 17ms between each change of the PWM value. If you set the Watchdog timer to interrupt mode it is capable of waking the device from sleep. Setting the watchdog timer prescaler at 0 you get 2k cycles which is about 16ms. You should be able to sleep those entire 16ms instead of running the CPU and counting down the delay.

