Create the overlay markup if accessed before show()
New CSS transition-friendly visibility class lifecycle

Go from nothing -> .activating -> .active -> .deactivating -> nothing
should allow us to handle all animation needs purely with CSS.