Allow FragmentContainer to play a role in fragment construction

This allows class swapping, dependency injection, and other fun
stuff.

Port of change-id I93e17ccf9cebb6f542903d31597b5ea41544e069 from
frameworks/base

Test: manual
Change-Id: I4552d61cfc9e9b651f05a2e91746e9f355a90311
4 files changed