Fixed bugs, re-implemented updates, added a service

The widgets now can update via three different methods: OneTime,
Interval and Hard.
The Hard update type was already implemented and wakes up the device,
but its frequency must be higher than half an hour and its not
changable. The other two are new and support lower frequency (I do not
recomend a frequency below 5 seconds), the frequency is change and
stoppable, but it does not wake up the device.
Also a service was introduced to allow your code to run as long as you
want during an update, otherwise we would get an ANR (Application Not
Responding) after several seconds.