Fix DrawerLayout shadow for RTL mode

This CL has done the following:
1) Keep track of the shadow drawables set for each gravity, and
   resolve the drawable based on the current layout direction and
   drawer gravity on the go
2) For API 21 and above, set a default (non-zero) elevation to the
   drawer for the drawer shadow, instead of using user provided
   shadow drawables, and provide setters and getters for developers
   to change drawer elevation.
3) Add getLayoutDirection and setLayoutDirection in DrawableCompat
4) In the case where an auto-mirrored drawable, change the drawable
   layout direction in the drawable resolution phase.

Bug: 19426883

Change-Id: Ib08e9d4f59ba94cd5618d651a4a4172b66af6570
4 files changed