draw::SwapChain
This allows to use pointers and such other trivial types which cannot implement the `swap` mehod.