Ensure calling mutate() on DrawableContainer creates a new state

Previously, a new state would only be created on newDrawable(), which
caused the first drawable loaded for a resource to share constant state
with the cached version. Even if mutate() was called, the constant
state was still shared and any changes were applied to the cached copy.

BUG: 18504919
Change-Id: I40d257867eb0a092ce580b9c4338ddc7406a031d
5 files changed