Decouple creation, allocation and binding of images from Wayland backend
A lot of the steps involved in creating a VkImage, allocating backing memory, and binding the VkImage to the memory do not rely specifically on Wayland features and could be common to other WSI backends.
This commit attempts to decouple the create_and_bind_swapchain_image() function in the wsi/wayland/swapchain.cpp from Wayland and wsialloc specific parts, and instead move the independent parts related to external memory management to a new external_memory class. This will allow the independent code to be re-used in future WSI backends.
Signed-off-by: Dennis Tsiang dennis.tsiang@arm.com Change-Id: I8c13ccbbfaef0d345fcd06192e6de484dd53645f