Refactor AppCompat's Activity structure

- The activity delegates now have a public abstract class
  called AppCompatDelegate. Any Activity can create one,
  but they must call through to the delegate at certain
  lifecycle methods.
- Related, I've reduced the number of manual lifecycle
  calls needed by using Window.Callback where possible.
- Activities can implement the the new AppCompatActivityCallback
  interface to receive certain callbacks.
- AppCompatActivity does all of this automatically
- ActionBarActivity is now a deprecated alias for AppCompatActivity
- Removed support for the v4 Drawer Toggle
- Remove our internal callback in favor of using Window.Callback
  directly

BUG: 18547959

Change-Id: I8ece4372fa2abbc5b5246544643fafe0e22874be
22 files changed