Use extend function to bind callback data to plot objects

This just makes the code cleaner. The ajax call returns some data to the
callback function, which passes it to the appropriate constructor
for a plot object. This changes the plot constructors so that they loop
over the ajax data and bind each field to a corresponding field on the
constructed object, rather than writing out each field by hand.
$.getJson => $.ajax

This change makes the code a bit cleaner as well as enabling binding
of unique beforeSend and success events to each plot (which is necessary
for each to have a unique loading spinner).
Add basic loading spinner

This uses functions that show and hide a spinner.gif when the ajax
call starts and compeltes respectively. I would like to add
a more informative message and style it so it always clears onto a
newline
Fix style so that loading spinner clears onto newline
Merge branch 'loadspinner'
Change style so that input fields are labeled and sit on separate lines