Update React to 0.5.1, update code to match site

Now everything matches exactly (except for whitespace in a few cases since the website doesn't fit 80 chars across).