AppCompat + VectorDrawableCompat

AppCompat now depends on VectorDrawableCompat and makes use
of it for certain drawables (radio button, checkmark, back, etc).

We make use of the few extension points in the Drawable loading
system to make this possible. Most drawable loading happens
in Resources.loadDrawable() which can't be overriden. On API 19
and below though, most DrawableContainers load their child
drawables through Resources.getDrawable(), which we can hook into.

This means that a <vector> resource file can be loaded as long as it
is wrapped in a seperate DrawableContainer (Inset, StateList, etc).

For the times that wrapping the drawable isn't an option, we now also
have a app:srcCompat attribution on ImageView and ImageButton.

AppCompat statically compiles in VDC into the Make build artifacts.
This is to aid migration. Gradle is unaffected.

Change-Id: If2ab63e561354fe290e5df47e7560533725175fc
125 files changed