Cleanup and improve ringer tile code.

Handle absence of vibrator properly by excluding the respective modes
from the selection in that case.

Change-Id: I63d1fc06cbbcadadff51866b929dde453f4eb4bd
Merge "Cleanup and improve ringer tile code." into cm-10.2
Merge branch 'cm-10.2' of git://github.com/CyanogenMod/android_frameworks_base into cd-4.3