Use setTimeout for CSS transitions rather than forcing reflows

![screen shot 2014-05-29 at 1 06 45 pm](https://cloud.githubusercontent.com/assets/192451/3120718/ad455492-e754-11e3-986c-66ff2af49a0f.png)

I was profiling one of my applications and noticed that the slowest path came from `modal.js` and accessing `.offsetWidth` to force a reflow to set up for a CSS transition. This isn't necessary and should work without causing reflows.