WIP: Call Portable_Idle when idle.
Previously Wimp was calling entering power saving mode (low CPU speed and calling Portable_Idle) at the beginning during Wimp_Poll if the number of polls per second was high. This results in:
- Excessive CPU load due to not immediately calling
Wimp_Pollheavy workloads being mistaken for idle.
- When run in a pre-emptive multi-tasking environment, high CPU usage by other threads could cause RISC OS to waste CPU time.
Instead call the power saving routine when there is no event (including null polls) to return from
Wimp_Poll with, and call
Portable_Idle whenever there has been no interrupt since the last call to the power saving routine.
Does this change break CPU speed throttling?