Use util::allocator in swapchain object

Change util::allocator's create and destroy methods so that they can
allocate multiple objects, in line with the allocate and deallocate
methods of std::allocator.

Also add documentation for util::allocator and its methods.

Finally, use util::allocator in swapchain.cpp, rather than allocating
memory directly via VkAllocationCallbacks.

Change-Id: I0bc25abe3cbc3af9608218411da8d70e04dd9749
Signed-off-by: Matteo Franchin <matteo.franchin@arm.com>
1 job for master in 1 minute and 36 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed #6205545
build_vulkan_wsi_layer

00:01:36