cpufreq: interactive: Support variable frequency calculations

Use a threshold value up to which we are evaluating the current
speed weighted by current load against each new choice of speed.
Above switch to the original frequency calculation proportional to
load relative to the max possible frequency which allows for more
dynamic and fair changes.

Default threshold is cpuinfo min which guarantees minimal freqs
and energy usage during (offloaded) media playback.

Conflicts:
	drivers/cpufreq/cpufreq_interactive.c
cpufreq: interactive: Eliminate the deadband effect

Original patch: https://github.com/torvalds/linux/commit/6393d6a1027ec1d69ec6246f6c7c2186f76c2abb

Basically, this new algorithm scales CPU frequencies linearly from minimum freq
as the previous algorithm didn't take minimum frequency into account,
scaling frequencies starting from 0.

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
cpufreq: interactive: Select closest frequency to target frequency

Original patch: https://github.com/torvalds/linux/commit/6393d6a1027ec1d69ec6246f6c7c2186f76c2abb

This prevents minimum frequency from being selected only when cpu
load is equals to 0.

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>