msm: kgsl: Only turn on the idle timer when active_cnt is 0

Only turn on the idle timer when the GPU expected to be quiet.
If the idle timer is enabled while the GPU is busy, there is
a chance it might unnecessarily fire during heavy GPU activity
such as a compute job.

Additionally, rather than trying to NAP directly from
kgsl_active_count_put(), just trigger the idle check work.

All of this makes the idle check happen more consistently.

Change-Id: Ic0dedbad57846f1e7bf7820ec3152cd20598b448
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>