SF: Refactor display device creation

Move display device creation to its own function which handles all
initialization before creating a DisplayDevice instance, which now just
simply constructs an instance from the passed values.

Also introduces a factory to abstract creating libgui Surface instances,
so that can be replaced by the test.

Test: Builds
Bug: 74827900
Change-Id: Ia80c865dc96b300033c506cc3093e563bcab787b
4 files changed