Create backend factory getter for lazy creation

Internal CMA backends may need to be created lazily, because
they depend on the initialization of other internal components.

BUG=b:111465269
TEST=Build, play YT and GPMusic

Change-Id: I781b028391e35e8c21b6a3e28e5d11ad891adad3
Reviewed-on: https://chromium-review.googlesource.com/1139099
Commit-Queue: Aidan Wolter <awolter@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Kenneth MacKay <kmackay@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575848}
9 files changed