kgsl_pwrscale: Rework policy sysfs implementation

In the current implementation, the pwrscale policy kobj is
created when the pwrscale driver initializes.  It is then added
to the kobj hierarchy when a governor adds sysfs files.

When a governor removes sysfs files, it frees the kobj.

Then, when a new governor starts up, it attempts to add an
uninitialized kobj.  This fails.

Instead, use a constant kobj for the policy directory,
and add governor-specific attributes under it.  If a
sysfs group is given a name, all attributes in the group
will appear in a subdirectory with that name (see cpufreq
governor tuning variables).  Use this approach for our
governor tuning.

TODO (possibly in a future patch) - Rework this so the
governor attributes can be groups attached directly to
the pwrscale kobj.

Change-Id: I7b8ae6d5e690ee107be037ccaf2e737e52062feb
kgsl: Implement ondemand scaling policy

The "trustzone" policy that is default relies on an undocumented
black box to make scaling decisions. Therefore introduce ondemand
with the same algorithm as used for scaling cpu frequency.

Signed-off-by: SkipXS <sskkiipp@gmail.com>
adreno.c: make kgsl_pwrscale_ondemand default

Signed-off-by: SkipXS <sskkiipp@gmail.com>