Improve rendering of examples and composition of React components

This adds a tabbed interface to the various source code snippets that go into making up an example. Overall these visual changes make it easier to view an example's source and output as a whole unit.

This also adds `propTypes` to all React components which make them easier to use and debug. The `LocaleSelect` component now also can work using React's `valueLink` feature.