Only check at runtime for the VIBRATE permission.

Since this is a library, we can just check at runtime for the VIBRATE
permission, handling the case where it is not available. This means that
the enclosing app can decide whether or not it wants to request this permission.

Also updated some of the gradle files for the latest build tools.