I had a similar experience - blank page for 5 seconds or so, but once the DOM loaded the images loaded in a flash. Its clear you've worked hard on this, its impressive.
Regarding the initial delay, I have a suggestion. The way the page is including your Javascript files is likely causing more of a delay than you are saving using CloudFront. Really easy to fix though:
Combine base_packaged.js, application.js, and listings.js and move the combined <script> tag to the bottom of the page, right after your </div> tag for #footer-wrapper. base_packaged.js alone is 252 KB, and the browser will block until its finished downloading. This means it won't be rendering any elements which occur after the script include until the download completes. Because your include is in the head the user sees nothing but the title until the script has downloaded. Importantly your img tags aren't rendered yet, and so the image downloads aren't starting for several seconds, during which time the user is left with no feedback.
Generally, move every script to the bottom of the page unless there's a reason you can't (e.g. you're using document.write to render page content).