Smart Radio: added option for delaying network mode change
Useful to filter out quick changes caused by user interaction

Explanation for using partial WakeLock:
There's one special case that requires utilization of partial WakeLock.
When delay is set to other value than 0 and screen turns off we have to
make sure CPU is online until mode is changed to POWER_SAVING, otherwise
change in network mode would not be handled.
WakeLock is acquired for the specific amount of time based on delay
preference thus it will be automatically released by the system in case
something went wrong that prevented us from releasing it ourselves.