contexts now shared_ptr, 'cause we need weakrefs, and bind_to now performs construction of the swap-chain