Start implementing components in React

It's just a static version at the moment, no props yet.
Work purely on props, no hard-coding

Now all data is passed around via props, so the static app is complete.
Add application state to appropriate components

The application state is summarised by:

- available locations
- selected location
- selected tide level
- tide levels for given location/tide level (from ajax call)

Note that there is only one location and the form is not currently editable.
Allow modifying tide level input box

Completely unconstrained, but demonstrating the up/down flow of
information in React.
Validate that inputted number is a float and round

We limit the precision of the input box to 1 decimal place.

Note: Factor out the magic number (1) with in an idiomatic Javascript
way.
Fire off an AJAX request when the state changes

When a new value is entered into the input box, fire off an AJAX request
to get the tide windows for given location & tide level.

Display these in the user's local timezone.

Note that it won't currently abort previous AJAX requests.
Add moment.js and improve time output
Disable submitting form

So that it doesn't reload the page.
Merge pull request #1 from sealevelresearch/implement-in-react

Implement initial version in React js