1. Include a one to two paragraph cover letter that you wrote specifically for the opening you're applying for. Make the quality of English very high. Use simple letter-style formatting, address in the top right, company logo in the top left if you have a freelance brand that you're using.
2. Include a two page CV. Simple formatting please (I am going to print it and write on it). Mine has worked well for me (though in retrospect is too wordy!), http://hackerb.io/cantlin.pdf, you can get one from http://hackerb.io.
3. Make both documents PDFs. Anything else is a pain for me.
4. Include links to your web presence, if you want. They can be in the cover letter, CV or email. You'll be Googled anyway so it's best to be proactive, especially if you have stuff on Github, SO, etc.
5. Companies vary, but be mindful of potentially needing to get your application through an HR department who at best will be searching for keywords from the job post.
6. Startups are a different game. Your CSS3 logo is a good stab (though make sure you back it up with meat). If I were looking for a startup role today I would be focused on making connections through events, social media and the open source projects they use.