This means it now requires the Javascript to be compiled before it can
be run. This move also required a massive reorganization and lots of
debugging/fixups to make everything work properly again.
* Only update the field that was modified when one is changed instead of
deep-copying the entire Transaction object
* Create a new AmountInput text box to allow for more intuitive editing
of amounts.