I love CloudFront because it automatically fetches assets from my deployed application and then caches them. I don't have to manually move stuff to S3 at all! Can CloudFlare do something similar?
Yes, AFAIK that's actually the only way CloudFlare works. You switch your DNS to them so that your site resolves to one of their servers and CloudFlare fetches pages and assets from your origin server.
This happens automatically with CloudFlare. As your traffic passes through our service we automatically cache your files, and then on subsequent requests we will serve those caches files for you -- saving requests to your web server and saving your bandwidth.