Port "Bind VolUp+VolDown to toggle the ringer"

Squash of http://review.cyanogenmod.org/#/c/20256/ and
http://review.cyanogenmod.org/#/c/22716/

Change-Id: Ied3767969482a7ea44f7f0e9222a2f78fe8f507c

Conflicts:

	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Remote display framework support.

Any app can use the remote display APIs to mirror to another device...
This can be used to implement AirPlay, Chromecast, or even screen recording.

Change-Id: I6f45b393afb2f9d438d4aa548e8149946741c928
Fix checkapi

Change-Id: I231b2dbdb0ab2c59bf8f0ba96e9f0da1303b8c7e
Fix various c++11 narrowing violations

Summary:
The best fix for these narrowing
violations is to use static casting

Test Plan: verified

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D641
core: fix arithmetic on a pointer to void

Summary:
Use char* instead of void* for this
pointer arithmetic. Fixes the following:

error: arithmetic on a pointer to void
buf = buf + offset;
      ~~~ ^

Test Plan: verify

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D594
Hopefully fix media scanner issues

Please see http://forum.xda-developers.com/showpost.php?p=44370296&postcount=357
For inspiration

Change-Id: I71573992c565e9f32b2256f8ef017cc8ac49b285