SF: Set up a default factory implementation

The previous factory implementation was effectively private with no
ability to reuse all or part of the implementation elsewhere.

Move the implementation to a new SurfaceFlingerFactoryDefault class,
and have the created implementation derive from it

This will make it easier to add new defaults creator functions without
requiring other implementations be adjusted when they do not care about
the actual type created.

Test: atest libsurfaceflinger_unittest
Test: go/wm_smoke
Bug: None
Change-Id: I6724cbf2e9169116498b0d713a695a27a55338a9
5 files changed